PDA

View Full Version : در مورد الگوها در تابع preg_match



morteza_naderloo
شنبه 19 تیر 1389, 20:33 عصر
سلام
درباره preg_match خيلي خوندم اما آخر هم چيزي متوجه نشدم .
اين تاپيك يا پست و يا هرچيزي كه اسمش هست رو خوندم بازم كار به جايي نبردم .
http://barnamenevis.org/forum/showthread.php?t=232364




<?php
$string="abab";
$patern="[a-zA-Z0-9._-]";
$valid=preg_match($patern,$string);
echo $valid;
echo '<br>';
if($valid){
echo 'Match';
}else {
echo 'Not Match';
}
?>




هر كاري كردم متوجه نشدم مشكل تو كد بالا چيه ، باور نمي كنيد اگه بگم الان 4 ساعته كه دارم هم تو سايت شما هم تو وب مي گردم اما چيزي متوجه نشدم .
اگه مي شه يه توضيح خوب بديد و داخل چند تا مثال بگيد چكار بايد كرد.:گیج:

funpatogh
شنبه 19 تیر 1389, 21:53 عصر
عزیز کدت رو به این شکل تغییر بده


<?php

$string="abab";
$patern="/^[a-zA-Z0-9._-]$/";
if(preg_match($patern,$string,$matches)){
echo "Valid<br>";
print_r($matches);
}else
echo "Not Valid";

?>

چند تا نکته که باید بگم اینه که شروع و پایان الگوت که مینویسی حتما 2 کاراکتر مثل هم باید بگزاری که معمولا / میگزارند
بعد از / شروع این علامت ^ و قبل از / در پایان $ بگزارید که علامیت های شروع و پایان یک خط می باشد
دوست داشتی آرگومان سوم هم یک متغییر تعریف کن که مقادیر تطبیق داده شده با الگوی شما رو به صورت آرایه نمایش میدهد و باید print_r کنی چون آرایه هست نخواستی هم چیزی ننویس و با if فقط چک کن اگه True برگردانه که valid و اگر False برگردونه یعنی چیزی مطابق الگوی شما نیست