PDA

View Full Version : کمک در نوشتن الگو با قاعده.



siamakb
چهارشنبه 22 خرداد 1392, 22:01 عصر
سلام.
امیدوارم خوب باشید.
می خواستم در نوشته زیر لینک http://test.world.com رو استخراج کنم.


$text="this text just for test url http://test.world.com/post/1000";

چندتا مقاله هم خوندم متاسفانه مثال هاش کم بود متوجه نشدم.
اگه آموزش هم دارید ممنون میشم لینک بدین.
ممنون میشم راهنمایی بفرمائید.

siamakb
پنج شنبه 23 خرداد 1392, 10:46 صبح
لطفا راهنمایی بفرمائید.

mostafa272
پنج شنبه 23 خرداد 1392, 13:46 عصر
$text="this text just for test url http://test.world.com/post/1000";
preg_match_all("/http:\/\/test.world.com(.*?)/", $text, $out, PREG_SET_ORDER);
echo $out[0][0];


همانطور که میبینید الگو با علامت / شروع و پایانش معلوم میشه. باید بخشی از رشته که الزامی هست رو عینا بنویسید. چون / نماد شروع پایان الگو هست در http:// باید قبل از هر / یک \ قرار گیرد تا پایان الگو سنجیده نشود (.*?) هم در واقع شامل همه چیز می شود و هر کاراکتری می تواند باشد

siamakb
پنج شنبه 23 خرداد 1392, 14:07 عصر
$text="this text just for test url http://test.world.com/post/1000";
preg_match_all("/http:\/\/test.world.com(.*?)/", $text, $out, PREG_SET_ORDER);
echo $out[0][0];


همانطور که میبینید الگو با علامت / شروع و پایانش معلوم میشه. باید بخشی از رشته که الزامی هست رو عینا بنویسید. چون / نماد شروع پایان الگو هست در http:// باید قبل از هر / یک \ قرار گیرد تا پایان الگو سنجیده نشود (.*?) هم در واقع شامل همه چیز می شود و هر کاراکتری می تواند باشد


ممنون از لطفتون.
توضیحات خوبی دادین.
قسمت ساب دامین تغیر میکنه.
یک الگو خودم نوشتم بد نشد .


preg_match('/http:\/\/(.*?)\//', $http, $matches);