כיצד להשתמש בפונקציית preg_match_all() ב-PHP

Kyzd Lhstms Bpwnqzyyt Preg Match All B Php



preg_match_all() היא פונקציה מובנית ב-PHP המשמשת כדי להתאים את התבנית הספציפית במחרוזת. אתה יכול להשתמש בפונקציה זו כדי לבצע התאמות של ביטוי רגולרי ולחלץ נתונים ממחרוזות. זה יכול לחסוך זמן ומאמץ במקרים שבהם אתה צריך לחפש מופעים מרובים של דפוס והוא נמצא בשימוש נרחב ביישומי ניתוח טקסט וחילוץ נתונים של PHP.

תחביר

להלן התחביר לשימוש ב- preg_match_all ב-PHP:







preg_match_all ( תבנית , קֶלֶט , התאמות , דגלים , לְקַזֵז )

ה preg_match_all מקבל את הפרמטרים הבאים, שלושה הם פרמטרים חובה ושניים הם אופציונליים:



  • תבנית : זה הפרמטר החובה; הוא מכיל את הביטוי הרגולרי שצריך לחפש.
  • קֶלֶט : גם השני הוא פרמטר חובה, שכן הוא המחרוזת שבה מתבצע החיפוש.
  • התאמות : הוא מאחסן את הפלט במערך המכיל את כל ההתאמות.
  • דגלים : הוא מתאר כיצד בנוי מערך החיפוש או ההתאמה. זה משנה את התנהגות החיפוש של פונקציה. ניתן להשתמש בדגלים הבאים:
  • לְקַזֵז : זה הפרמטר האופציונלי שמציין את מיקום ההתחלה של החיפוש.
דֶגֶל תיאור
PREG_PATTERN_ORDER למערך שנוצר יש את כל ההתאמות של מערך עבור כל רכיב של הביטוי הרגולרי.
PREG_SET_ORDER כל רכיבי מערך ההתאמות מכילים התאמות מכל קיבוץ עבור אחת מההתאמות שנמצאו במחרוזת.
PREG_OFFSET_CAPTURE הוא מחזיר את ההתאמות עם מיקומי היסט הבתים המתאימים שלהם במחרוזת הנושא.
PREG_UNMATCHED_AS_NULL הדפוסים שאינם תואמים ידווחו כ-NULL.

דוגמה 1

שקול את הדוגמה הבאה לשימוש ב- preg_match_all() פונקציה ב-PHP. בקוד זה, אנו מחפשים את המילה לינוקס במחרוזת. פונקציה זו מפיקה את מספר ההתאמות שנמצאו מול המילה לינוקס :





מחרוזת $ = 'שלום לחובבי לינוקס, ברוכים הבאים ל-LinuxHint!' ;

$pattern = '/לינוקס/' ;

התאמות $ = מַעֲרָך ( ) ;

preg_match_all ( $pattern , מחרוזת $ , התאמות $ ) ;

print_r ( התאמות $ [ 0 ] ) ;

?>





דוגמה 2

בקוד לדוגמה זה, אנו מחפשים את המילה E במחרוזת. ה-i הקטן משמש כדי להפוך את החיפוש לבלתי רגיש לאותיות רישיות. זה יחזיר את כל מופעי המחרוזת של המילה E או e:



מחרוזת $ = 'ברוכים הבאים לארה'ב.' ;

$patternRex = '/E/i' ;

$matchFound = preg_match_all ( $patternRex , מחרוזת $ , התאמות $ ) ;

אם ( $matchFound ) {

הֵד '
'  ; 

print_r ( התאמות $ ) ;

}

?>



דוגמה 3

אם התבנית שאתה מחפש אינו קיים במחרוזת, הפונקציה תחזיר false, מה שמצביע על שגיאה. כדי לטפל בזה, אתה יכול להשתמש בהצהרות if-else. אם הדפוס לא נמצא, אתה יכול להדפיס הודעה באמצעות הצהרת else כדי ליידע את המשתמש שהדפוס לא נמצא.



מחרוזת $ = 'PHP היא שפת סקריפטים פופולרית' ;

$patternRex = '/לְהַשְׁתִין/' ;

$matchFound = preg_match_all ( $patternRex , מחרוזת $ , התאמות $ ) ;

אם ( $matchFound ) {

הֵד '
'  ; 

הֵד 'נמצאה התאמה.' ;

print_r ( התאמות $ ) ;

} אַחֵר {

הֵד 'לא נמצאה התאמה.' ;

}

?>

הערה : ה

   תג בקוד לעיל משמש לעיצוב הפלט.

שורה תחתונה

ביטויים רגולריים הם כלי רב עוצמה לחיפוש ולטפל בטקסט ב-PHP. ה preg_match_all() function היא פונקציית PHP מובנית המשמשת לביצוע התאמה של ביטוי רגולרי מול מחרוזת ולאחזר את כל המופעים של התבנית ואם התבנית לא קיימת, היא תחזיר false. הבנת ה preg_match_all() הפונקציה תעזור למשתמשים לטפל ולעבד טוב יותר נתוני טקסט ב-PHP.