שימוש בביטויים רגולריים

PHP:
שימוש בביטויים רגולריים

איך ל:

PHP תומכת בביטויים רגולריים דרך ספריית ה-PCRE (Perl Compatible Regular Expressions), המציעה ערכת פונקציות עשירה. הנה איך להשתמש בהם:

תיאום דפוס:

כדי לבדוק אם דפוס קיים בתוך מחרוזת, משתמשים ב-preg_match(). הפונקציה הזו מחזירה 1 אם הדפוס נמצא במחרוזת ו-0 אם לא.

if (preg_match("/\bweb\b/i", "PHP is a web scripting language")) {
    echo "A match was found.";
} else {
    echo "A match was not found.";
}
// פלט: A match was found.

מציאת כל ההתאמות:

preg_match_all() משמשת כאשר יש צורך למצוא את כל המופעים של דפוס בתוך מחרוזת.

$text = "cats and dogs";
$pattern = "/\b([a-z]+)\b/i";
preg_match_all($pattern, $text, $matches);
print_r($matches[0]);
// פלט: Array ( [0] => cats [1] => and [2] => dogs )

החלפת טקסט:

כדי להחליף טקסט שמתאים לביטוי רגולרי, משתמשים ב-preg_replace(). זה עוצמתי במיוחד לעיצוב וניקוי נתונים.

$originalText = "April 15, 2003";
$pattern = "/(\w+) (\d+), (\d+)/i";
$replacement = '${1}1,$3';
echo preg_replace($pattern, $replacement, $originalText);
// פלט: April1,2003

פיצול מחרוזות:

ניתן לפצל מחרוזת למערך באמצעות preg_split(), תוך שימוש בדפוס כמפריד.

$text = "PHP is, an extremely popular, scripting language";
$parts = preg_split("/,\s*/", $text);
print_r($parts);
// פלט: Array ( [0] => PHP is [1] => an extremely popular [2] => scripting language )

בנוסף, למשימות ודפוסים מורכבים יותר ב-regex, מסגרות וספריות כמו רכיב ה-Finder של Symfony או אוסף פונקציות העזר של Laravel עשויות להציע שכבת אבסטרקציה נוחה יותר. עם זאת, הבנה וניצול של פונקציות ה-PCRE המובנות של PHP קריטיות לעיבוד ואימות טקסטים ביעילות ישירות דרך סקריפטים של PHP.