שימוש בפונקציה preg_match () ב- PHP

Use Preg_match Function Php



הביטוי הרגיל הוא תבנית מסוימת שניתן להשתמש בה כדי להתאים, לחפש ולהחליף מחרוזת מסוימת בנתוני טקסט. זוהי תכונה עוצמתית של כל שפת תכנות. הוא משמש בעיקר לביצוע סוגים שונים של אימות טפסים, כגון אימות דוא'ל, בדיקת פורמט הטלפון, אימות שדות שם המשתמש והסיסמה של טופס ההתחברות וכו '. ניתן לחפש ולהחליף כל תוכן מסוים של הטקסט באמצעות ביטוי רגיל. תבנית. זה נקרא גם regex או RegExp. סוגים שונים של סמלים משמשים להגדרת תבנית regex.

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







תחביר:

Int אושֶׁקֶר preg_match (חוּטדפוס $,חוּטנושא $ [, מַעֲרָך &התאמות של $ = ריק [,intדגלי $ = 0 [,intקיזוז של $ = 0]]])

פונקציה זו יכולה להכיל חמישה ארגומנטים. הטענה הראשונה, דפוס $ , הוא חובה, המגדיר את תבנית ההתאמה. הטענה השנייה, נושא $ , הוא חובה, ומכיל את נתוני המחרוזת שבהם יחול הדפוס. הטענה השלישית, התאמות של $ , הוא אופציונלי והוא מחזיר מערך המבוסס על ההתאמה. הטענה הרביעית, דגלי $ , הוא אופציונלי, המכיל סוגים שונים של ערכי דגל המבוססים על ההתאמה. הטענה החמישית, קיזוז של $ , הוא אופציונלי, וניתן להשתמש בו כדי להגדיר את מיקום ההתחלה של החיפוש.



דוגמא 1: התאם את התבנית באופן תלוי-רגיש וחסר רגישות

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



כאן, שלושה דפוסים משמשים ליישום בשלוש פונקציות preg_match (). התבנית הראשונה, '/כמו/', משמש להתאמת המחרוזת בהתאם לרגישות רישיות. התבנית השנייה, '/כמו/' , משמש להתאמת המחרוזת בהתאם לרגישות רישיות. התבנית השלישית, 'כמוני' , משמש להתאמת המחרוזת באופן חסר רישיות. search_pattern () פונקציה מוגדרת בסקריפט לשימוש בפונקציה preg_match () להתאמה, והיא מדפיסה את ההודעה על בסיס הערך המוחזר של פונקציה זו.







// הגדר את הטקסט

$ טקסט = 'אני אוהב PHP. אני גם אוהב JavaScript. ';

// הגדירו שלושה סוגי דפוסים

תבנית $ 1 = '/כמו/';

תבנית $ 2 = '/כמו/';

תבנית $ 3 = '/כמוני';

// הגדר פונקציה לחיפוש התבנית בטקסט

פוּנקצִיָהדפוס חיפוש_(דפוס $, מחרוזת $)

{

אם( preg_match (דפוס $, מחרוזת $))

זרק 'תוצאות חיפוש: נמצאה התאמה לתבנית -דפוס $
'
;

אַחֵר

זרק 'תוצאות חיפוש: ההתאמה לא נמצאה לתבנית -דפוס $
'
;

}

// הדפס את הטקסט המקורי

זרק הטקסט המקורי הוא: $ טקסט
'
;

// קראו לפונקציה שלוש פעמים לשלוש תבניות

דפוס חיפוש_(תבנית $ 1, $ טקסט);

דפוס חיפוש_(תבנית $ 2, $ טקסט);

דפוס חיפוש_(תבנית $ 3, $ טקסט);

?>

תְפוּקָה :

הפלט הבא יופיע לאחר הפעלת הסקריפט מהשרת. השורה הראשונה מציגה את הטקסט שבו חיפשו את הדפוסים. השורה השנייה מציגה את הפלט של התבנית הראשונה. השורה השלישית מציגה את הפלט של התבנית השנייה. השורה הרביעית מציגה את הפלט של התבנית השלישית.



דוגמה 2: אמת את כתובת האתר

הדוגמה הבאה מציגה את הדרך לאמת את כתובת ה- URL באמצעות הפונקציה preg_match (). צור קובץ PHP עם הסקריפט הבא.

ערך כתובת URL מוקצה במשתנה $ url לבדיקה. '@^(?: Https: //)? ([^/]+) @I' מחרוזת משמשת כדפוס בפונקציה preg_match () כדי לבדוק אם כתובת ה- URL תקפה או לא. אם הוא תקף, שם המארח ושם הדומיין יודפסו, אחרת הודעת השגיאה תודפס.



// הגדר את כתובת האתר

כתובת אתר $ = 'https://www.linuxhint.com';

// הגדר את התבנית לאימות כתובת האתר

דפוס $ ='@^(?: https: //)? ([^/]+) @i';

// בדוק שכתובת האתר חוקית או לא

אם( preg_match (דפוס $, כתובת אתר $, $ התאמות 1))

{

// הדפס את הודעת ההצלחה

זרק 'כתובת האתר חוקית.
'
;

// הדפס את המערך המכיל את ערכי ההתאמה

זרק 'ערכי המערך הם:';

print_r ($ התאמות 1);

// אחזר והדפס את ערך המארח

מארח $ = $ התאמות 1[1];

זרק '
שם המארח הוא:מארח $'
;

// חפש את שם הדומיין מתוך ערך המארח

preg_match ('/[^.-lex.europa.eu+.[^.íritu+$/', מארח $, $ התאמות 2);

זרק '
שם הדומיין הוא:{$ matches2 [0]}'
;

}

אַחֵר

{

// הדפס את הודעת השגיאה

זרק 'כתובת אתר לא חוקית.';

}

?>

תְפוּקָה :

הפלט הבא יופיע לאחר הפעלת הסקריפט מהשרת. כתובת האתר המסופקת בתסריט היא חוקית. אז הפלט מציג את הערכים של התאמות $, שם המארח של כתובת האתר ושם הדומיין של כתובת האתר.

דוגמה 3: תבנית חיפוש עם ערכי דגל וקיזוז

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

שלושה דפוסים משמשים בתסריט לשלושה סוגי התאמות. בפונקציה preg_match () הראשונה, ‘/(bangla) (desh)/’ משמש כדוגמא וערך הדגל, PREG_OFFSET_CAPTURE משמש. הערכים של התאמות של $ משתנה יודפס על בסיס הפלט של הפונקציה הראשונה preg_match (). בפונקציה השנייה preg_match (), ‘/(bangla) (glad)*(desh)/i’, משמש כתבנית וערך הדגל, PREG_UNMATCHED_AS_NULL משמש. אם חלק כלשהו של התבנית אינו תואם אז ערך NULL יישמר במערך. הערכים של התאמות של $ משתנה יודפס על בסיס הפלט של הפונקציה השנייה preg_match (). בפונקציה השלישית preg_match (), '/glad/' משמש כתבנית, ערך הדגל, PREG_OFFSET_CAPTURE משמש ו- 3 משמש כערך הקיזוז. הערכים של התאמות של $ משתנה יודפס על בסיס הפלט של הפונקציה השלישית preg_match ().



// הגדר את ערך הטקסט

$ טקסט = 'בנגלדש';

// הגדירו שלושה סוגים של דפוסים

תבנית $ 1 = ' / (bangla) (desh) / i';

תבנית $ 2 = ' / (bangla) (שמח) * (desh) / i';

תבנית $ 3 = '/שַׂמֵחַ/';


// שימוש בדגל PREG_OFFSET_CAPTURE

preg_match (תבנית $ 1, $ טקסט, התאמות של $,PREG_OFFSET_CAPTURE);

זרק '
';  

print_r ($matches);

echo '

'
;

// שימוש בדגל PREG_UNMATCHED_AS_NULL

preg_match (תבנית $ 2, $ טקסט, התאמות של $,PREG_UNMATCHED_AS_NULL);

זרק '
';  

print_r ($matches);

echo '

'
;

// שימוש בדגל PREG_OFFSET_CAPTURE וערך קיזוז

preg_match (תבנית $ 3, $ טקסט, התאמות של $,PREG_OFFSET_CAPTURE, 3);

זרק '
';  

print_r ($matches);

echo '
'
;

?>

תְפוּקָה :

הפלט הבא יופיע לאחר הפעלת הסקריפט מהשרת.

סיכום

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