سرفصل‌های آموزشی
آموزش رگیولار اکسپرشن
آشنایی با نحوهٔ مجزاسازی بخش‌های مختلف یک استرینگ با استفاده از RegEx در زبان PHP

آشنایی با نحوهٔ مجزاسازی بخش‌های مختلف یک استرینگ با استفاده از RegEx در زبان PHP

در زبان برنامه‌نویسی پی‌اچ‌پی فانکشنی به اصطلاح Built-in داریم تحت عنوان ()preg_split که این وظیفه را دارا است تا بر اساس الگویی که برایش در نظر می‌گیریم، یک استرینگ خاص را به اجزایش تفکیک کند:

<?php
$string = "html, css,     javascript,           php";
$regex = "/,\s+/";
print_r(preg_split($regex, $string));

ابتدا خروجی اسکریپت فوق را ملاحظه نموده سپس به تفسیر کدها خواهیم پرداخت:

Array
(
    [0] => html
    [1] => css
    [2] => javascript
    [3] => php
)

در واقع، الگویی که در نظر گرفته‌ایم حاکی از آن است که علامت , به‌علاوهٔ یک با بیش از یک بار تکرار اِسپیس که با علائم +s\ مشخص شده است به عنوان عامل جداکننده تلقی شده و بر آن است اجزای این استرینگ از یکدیگر مجزا گردیده و در قالب یک آرایه در معرض دیدمان قرار گیرد. به عنوان مثالی دیگر، فرض کنیم که استرینگی به صورت زیر داریم:

<?php
$string = "html|css|javascript|php";
$regex = "/\|/";
print_r(preg_split($regex, $string));

خروجی این اسکریپت همچون مورد قبل است با این توضیح که زبان‌های برنامه‌نویسی موجود داخل متغیر string$ با علامت | بدون هیچ گونه فاصله‌ای جدا شده‌اند و برای این که الگویی بر این اساس بنویسیم، با توجه به این که علامت | یکی از علائمی است که در رِجِکس دارای معنا و مفهوم خاصی است، می‌باید آن را به اصطلاح اِسکیپ کنیم که برای همین منظور هم داخل رِجِکسی که نوشته‌ایم قبل آن از علامت \ استفاده کرده‌ایم.

online-support-icon