PDA

View Full Version : سوال: در رابطه با preg_replace



mand1404
شنبه 20 اردیبهشت 1393, 20:22 عصر
سلام
من یک متنی دارم که میخوام، هرچی بین
<h1></h1> قرار میگیره به
Nothing تبدیل کنه بجز
<h1></h1> که بینش اسم Mohammad به کار رفته باشه.
مثلا:


<h1> Salam </h1>
<h1> Chetori? </h1>
<h1> Mohammad </h1>


به


Nothing
Nothing
<h1> Mohammad </h1>


تبدیل بشه.
راهی داره با استفاده از تابع preg_replace این اتفاق بیفته؟

desatir7316
شنبه 20 اردیبهشت 1393, 20:56 عصر
شاید این بتونه کمک کنه راحت تر regx بنویسی (http://www.regexr.com/)

MMSHFE
یک شنبه 21 اردیبهشت 1393, 10:03 صبح
preg_replace('#<h1>(?!.*?Mohammad).*?</h1>#ig', 'Nothing', $string);

mand1404
سه شنبه 23 اردیبهشت 1393, 16:05 عصر
سلام
ممنونم
آقای MMSHFE (http://barnamenevis.org/member.php?55504-MMSHFE) این پترن‌ها رو باید از کجا فهمید؟ مرجع خاصی داره؟

MMSHFE
سه شنبه 23 اردیبهشت 1393, 19:51 عصر
همین سایت http://www.regexr.com آموزش هم داره. توی اینترنت هم اگه درمورد Regular Expressions in PHP جستجو کنید، نتایج زیادی میاد. توی سایت php.net هم اگه دستورات preg_match و preg_replace و... رو جستجو کنید، لینکهای آموزش عبارات باقاعده رو میتونید پیدا کنید.

mand1404
سه شنبه 23 اردیبهشت 1393, 20:36 عصر
preg_replace('#<h1>(?!.*?Mohammad).*?<\/h1>#ig', 'Nothing', $string);

نباید برای بسته شدن h1 به صورت /\ قرار بدیم؟