Regex ב-PHP

PHP JSON ופונקציות Callback
OOP ב-PHP: מדריך למתחילים

מהו ביטוי רגולרי?

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

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

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

ביטוי רגולרי יכול להיות תו בודד או שילוב של כמה דפוסים מורכבים.

תחביר של ביטוי רגולרי ב-PHP

המפריד יכול להיות כל תו שאינו אות, מספר, קו נטוי אחורי או רווח. המפריד הנפוץ ביותר הוא הלוכסן קדימה (/), אך כאשר התבנית שלך מכילה קווי לוכסן קדימה, נוח לבחור במפרידים אחרים כמו # או ~.

באופן כללי, ביטוי רגולרי ב-PHP מורכב of שלושה חלקים.

  1. מפריד - זה מציין את ההתחלה או הסוף של המחרוזת בתבנית. תוחם לא יכול להיות קו נטוי אחורי, מספר, אות או רווח. עם זאת, קו נטוי קדימה יכול לשמש כמפריד. אם התבניות שאתה מחפש מורכבות מלכסוני העברה, אתה יכול לשנות את המפריד להטיה ~ או hash #.
  2. תבנית - הוא ציין את הדפוס או רצף התווים לחיפוש.
  3. משנה (אופציונלי) - אתה יכול להפוך את ההתאמה של מקרי דפוס ללא רגישה או רגישה.

דוגמה

$exp = "/php.org/i";

RegextFunctions ב-PHP

PHP מספק פונקציות מובנות עבור ביטויים רגולריים. פונקציות הרקס הנפוצות ביותר ב-PHP הן:

  • Preg_replace() - הוא סופר את מספר הפעמים שהדפוס מתרחש במחרוזת ומחזיר את הספירה.
  • Preg_match() – מחזירה 0 במקרה של דפוס שלא נמצא במחרוזת. 1 במקרה של נמצא.
  • Preg_match_all() – פונקציה זו מחליפה את המחרוזת במחרוזת אחרת שבה התבנית מתאימה. תקבל מושג ברור יותר בסעיף הבא אם אתה מתקשה להבין.

פונקציית preg_match ב-PHP

הפונקציה Preg_match מחזירה את ה- תוצאה בינארית. כלומר 0 או 1. אם המחרוזת מכילה את התבנית שציינת בארגומנט הראשון של הפונקציה preg_match, היא תחזיר 1. 0 במקרה של לא נמצא.

תסתכל על הדוגמה הבאה, שבה נחפש במחרוזת תווים PHP.

<?php
$str = "Visit php.org";
$pattern = "/php/i";
echo preg_match($pattern, $str); // Outputs 1
?>

פונקציית preg_match_all ב-PHP

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

דוגמה

<?php
$str = "It is raining heavily. Cars are slipping outside. ";
$pattern = "/ing/i";
echo preg_match_all($pattern, $str); // Outputs 4
?>

/i בדוגמה שלמעלה ציין שהמחרוזת יכולה להיות באותיות קטנות או גדולות.

פונקציית preg_replace ב-PHP

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

תסתכל על הדוגמה הבאה, שבה אנו מחליפים את המילה אתר ב-PHP.org

דוגמה

<?php
$str = "Visit Website!";
$pattern = "/Website/i";
echo preg_replace($pattern, "php.org", $str); // Outputs "Visit php.org!"
?>

משנה ביטוי רגולרי

אתה יכול להתאים את התנהגות החיפוש של הביטוי הרגולרי ב-PHP על ידי הגדרת משתני השינוי הבאים.

  1. I – משמש לביצוע חיפוש לא תלוי רישיות.
  2. U – לחיפוש נכון של דפוסי utf-8.
  3. M – מוסיף חיפוש מרובה ב-PHP regex. יש כמה תבניות שמחפשות בתחילת או בסוף כל שורה. אז, דפוסים אלה מסתכלים על ההתחלה והסוף של כל שורה של המחרוזת.

ציין טווח ב-PHP regex

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

  1. [א ב ג] – הסוגריים המרובעים ציינו כי מוצאים כל תו אחד מהתווים הללו במחרוזת.
  2. [^0-9] – חפש את התווים שאינם בטווח בסוגריים.
  3. [0-9] – מצא כל תו אחד בין 0 ל-9. 0 ו-9 כוללים במקרה זה.

אתה יכול ללמוד עוד על פונקציות Regex ב-PHP כאן

PHP JSON ופונקציות Callback
OOP ב-PHP: מדריך למתחילים
close

הישאר מעודכן לגבי PHP!

אנחנו לא שולחים ספאם!

en English
X
גלול למעלה