ผมเขียน code ไว้แล้ว แต่เหลือ แทนที่ว่างเป็น - ช่วยหน่อยนะครับ

เริ่มโดย untilate, 15 กันยายน 2009, 09:40:25

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

untilate

$newurl = preg_replace("~<a[^>]+=\'(.*?)\'>(.*?)<\/a>~si",'<a href="http://www.domain.com/$2/page-$1" title="$2">$2</a>',$edit);

ปัญหาคือ ตรง $2 นะครับ บางทีมันยากมีช่องว่าง อยู่เช่น "ฟังเพลง ว่าน" ผมอยากให้มันเป็น "ฟังเพลง-ว่าน" ครับ

แต่ตรง title="" ก็ปล่อยให้มันมีช่องว่างได้

ผมลองแก้เป็น

preg_replace("~<a[^>]+=\'(.*?)\'>(.*?)<\/a>~si",'<a href="http://www.domain.com/'.ereg_replace("[[:space:]]+", "-", trim($2)).'/page-$1" title="$2">$2</a>',$edit);

แต่มันก็ไม่ได้

EThaiZone

ทำไม่ได้ครับ ต้องแยกมาอีกที
แนะนำ preg_match แยกออกมาใส่ตัวแปรแยกก่อน
แล้ว preg_replace แทนที่ว่างกับ - อีกที
แล้วค่อยจับมารวมกันครับ


:P

kuznetsova

เว็บที่ทำจาก Blogger สวยงามได้แค่ไหนชม
[direct=https://www.forexfights.com]วิธีเทรดฟอเร็กซ์ กรอบเวลาต่างๆ[/direct]
[direct=https://babbaan.in]แบบบ้านความรู้เรื่องบ้าน[/direct]
[direct=http://www.herb-health.com]แบบทรงผมข้อมูลด้านสุขภาพ ความงาม[/direct]

untilate

อ้างถึงจาก: EThaiZone ใน 15 กันยายน 2009, 11:39:45
ทำไม่ได้ครับ ต้องแยกมาอีกที
แนะนำ preg_match แยกออกมาใส่ตัวแปรแยกก่อน
แล้ว preg_replace แทนที่ว่างกับ - อีกที
แล้วค่อยจับมารวมกันครับ


:P

ผมใช้ preg_match แยกออกมา สำเร็จ

ไม่เข้าใจตรง preg_replace แทนที่ว่างกับ - อีกที ครับ

แนะนำหน่อย

untilate

ช่วยผมหน่อยนะครับ  :'( :'( :'(

พยายามทำเองเต็มที่แล้ว แต่ทำไม่ได้จริงๆ ครับ

liveadsense


เตือนตัวเอง ว่าเก่งได้ แต่อย่ากร่าง
รู้รับฟัง ไม่ใช่พล่ามเป็นน้ำไหล
อย่าหลงตน ให้คนอื่นเหนื่อยหน่ายใจ
เจอบันได ถ้าขึ้นได้ ต้องลงเป็น

untilate

ช่วยหน่อยนะครับ

ผมไม่เข้าใจครับ ว่าจะแยกออกมายังไง

genetic

ขอดูตัวอย่าง ข้อมูลที่ต้องการเปลี่ยนหน่อยครับ
[direct=http://www.signmate.co]Digital Signage[/direct],  [direct=http://www.signmate.co]ป้ายโฆษณาดิจิตอล[/direct],
[direct=https://www.signnex.com]Digital Signage[/direct][direct=http://www.keeate.com]App Creator[/direct],
[direct=http://www.keeate.com]รับทำแอพ[/direct]

doopro


picharnan