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

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderator: mindphp, ผู้ดูแลกระดาน

profess79
PHP Newbie
PHP Newbie
โพสต์: 2
ลงทะเบียนเมื่อ: 26/12/2017 5:02 pm

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

โพสต์ที่ยังไม่ได้อ่าน โดย profess79 »

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

โค้ด: เลือกทั้งหมด

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

โค้ด: เลือกทั้งหมด

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

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

โค้ด: เลือกทั้งหมด

$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);
จะออกมาเป็น

โค้ด: เลือกทั้งหมด

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

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

โค้ด: เลือกทั้งหมด

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



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


:lol: :lol: :lol:
profess79
PHP Newbie
PHP Newbie
โพสต์: 2
ลงทะเบียนเมื่อ: 26/12/2017 5:02 pm

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

โพสต์ที่ยังไม่ได้อ่าน โดย profess79 »

ได้ละครับ

โค้ด: เลือกทั้งหมด

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

ปล. ถามไว้หลายที่ครับ 555
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 53