ไม่เข้าใจคำสั่ง preg_replace

Post a reply

Smilies
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: ไม่เข้าใจคำสั่ง preg_replace

Re: ไม่เข้าใจคำสั่ง preg_replace

by profess79 » 20/06/2020 6:19 pm

ได้ละครับ

Code: Select all

$s = preg_replace("/\[em\=(([a-z]+)\d+)\]/","<img border='0' src='/pic/$2/$1.gif' title='$1'>",$s);
ขอบคุณลุง frost@cz

ปล. ถามไว้หลายที่ครับ 555

ไม่เข้าใจคำสั่ง preg_replace

by profess79 » 20/06/2020 11:55 am

สมมติข้อความแบบนี้

Code: Select all

 [em=yocie002] 
ต้องการให้ออกมาแบบนี้

Code: Select all

<img border='0' src='/pic/yocie/yocie002.gif' title='yocie002'>"
คือหาคำว่า [em= แล้วแทนที่ด้วย <img border='0' src='/pic/
แระก็ yocie มาเป็นชื่อ folder
แระก็ yocie002 มาเป็น title กับ ชื่อรูป แล้วเพิ่ม .gif เข้าไป
ตรง ] ก็เปลี่ยนเป็น >

หาตัวอย่าง code มาได้แต่อ่านแล้วงงมาก ยิ่งมันต่อเนื่องไปเรื่อง regular expression ยิ่งงงหนักเข้าไปอีก
อย่างตรงนี้

Code: Select all

$s = "[img=https://www.mindphp.com/forums/images/smilies/icon_idea.gif]";
$s = preg_replace("/\[img=(http:\/\/[^\s'\"<>]+(\.(gif|jpg|png)))\]/i", "<img border=\"0\" src=\"\\1\" alt='' />", $s);
จะออกมาเป็น

Code: Select all

<img src="https://www.mindphp.com/forums/images/smilies/icon_idea.gif">

ตอนนี้ทำแบบนี้ก็ยังไม่ออกมาเป็นแบบที่ต้องการ

Code: Select all

$s = preg_replace("/\[em=([^\s'\"<>])/", "\\1\.gif" , $s);



รบกวนหน่อยครับ


:lol: :lol: :lol:

Top