PDA

View Full Version : مشکل در eregi_replace



m_feyz
جمعه 20 تیر 1393, 18:26 عصر
با سلام به همه
من دستور زیر رو می نویسم:

$text="some text,word1,some text";
$text=eregi_replace("(^|,)((word1)|(word2)|(word3)|(word4)|(word5)|(wor d6)|(word7))(,|$)","\\1 selected word\\10",$text);
print ("$text");
نتیجه ای که میده اول پرانتز اول و بعد کلمه (selected word) ولی بعد به جای این که پرانتز دهم رو بده پرانتز اول رو به همراه عدد 0 میده!
مشکل ظاهراً اینه که بعد از علامت (\\) نمی شه از عدد دو رقمی استفاده کرد! حالا برای رفع این مشکل باید چی کار کرد؟

MRmoon
جمعه 20 تیر 1393, 22:33 عصر
با سلام به همه
من دستور زیر رو می نویسم:

$text="some text,word1,some text";
$text=eregi_replace("(^|,)((word1)|(word2)|(word3)|(word4)|(word5)|(wor d6)|(word7))(,|$)","\\1 selected word\\10",$text);
print ("$text");
نتیجه ای که میده اول پرانتز اول و بعد کلمه (selected word) ولی بعد به جای این که پرانتز دهم رو بده پرانتز اول رو به همراه عدد 0 میده!
مشکل ظاهراً اینه که بعد از علامت (\\) نمی شه از عدد دو رقمی استفاده کرد! حالا برای رفع این مشکل باید چی کار کرد؟

فکر کنم این تابع از PHP 5.3 به بعد deprecate شده!

لینک : eregi_replace (http://php.net/manual/en/function.eregi-replace.php)

از preg_replace استفاده کن.

محمد.