██►ถาม ereg_replace() ใน PHP ช่วยด้วยๆๆๆค่ะ สำคัญมากเลย ◄██

เริ่มโดย q-oo-p, 30 มกราคม 2013, 12:17:36

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

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

q-oo-p

██►ถาม ereg_replace() ใน PHP ช่วยด้วยๆๆๆค่ะ สำคัญมากเลย ◄██

ช่วยด้วยคะ ถามเรื่องการใช้ PHP String Functions ค่ะ

ereg_replace()   :P :P

การแทนที่ข้อความที่พบด้วยคำที่ต้องการ ใน PHP
สิ่งที่ต้องการทำคือเปลี่ยน Link ที่ได้จากการ curl มาจากเว็บอื่นค่ะ

ตัวอย่าง เช่น
จาก
/Department/1745/ของใช้ในชีวิตประจำวัน/?Paths=1740-1745
เปลี่ยนให้เป็น
/department.php?id=1745/

จาก
/Department/2262/ชุดชั้นใน?Paths=6
เปลี่ยนให้เป็น
/department.php?id=2262


ตอนนี้กำลังปวดหัวคะแก้ไม่ได้เลยติดตรงนี้มาหลายวันแล้วค่ะ
เขียนเป็น Function ไว้เพื่อเรียกใช้งานคะ

function replaceLinks($data){
     $data = ereg_replace("_____________","_____________",$data);
     return $data;
}


ในช่องว่างที่เว้นไว้ต้องเขียนยังไงค่ะ
ช่วยด้วยๆคะ  :wanwan031:
✿ ขายโดเมนพีอาร์สูง ✿
PR5 2000.-
PR6 4000.-
TEL: 091-003-4020 LINE: ZIONPIG
ดูรายชื่อโดเมนที่เว็บ: [direct=http://www.pricebuysale.com/] PriceBuySale.COM [/direct]

Optimus

รับสอน Android Re-Skin Apps & Games | สอนแบบ 1 ต่อ 1 ผ่าน TeamViewer สนใจ PM สอบถามเลยครับ

รับรีสกิน Apps Android 1 ชุด 15 แอพ 2900 บาท ท่านสามารถนำไปอัพขึ้น Play Store หารายได้ได้เลยครับ สนใจ PM ครับ

ขาย Account Skimlinks ปั่น Amazon ได้ (ตอนนี้คนไทยสมัครไม่ผ่านแล้ว) 4500  บาท PM ครับ

UnLock UnlimiT


ผมว่าแบบนี้ง่ายกว่านะ

<?

$data = "/Department/1745/ของใช้ในชีวิตประจำวัน/?Paths=1740-1745";


function cutter($data){
$cutdate = explode("/", $data);   // เป็นการตัดค่า / โดยเก็บไว้ในอาเรย์ของ $cutdate
$data = "/department.php?id=$cutdate[2]";  // ค่าของ ตัวเลข 1745 อยู่อาเรย์ ช่องที่ 2 ถ้า department เหมือนกันหมดไม่เปลี่ยนแปลงก็ใช้ได้ถ้ามีการเปลี่ยนเรื่อยๆ ก็ $cutdate[1]
return $data;   // ปล่อยค่าออกไป
}

$show = cutter($data);
echo $show;     

?>
   
งดรับซื้อ google ads ครับ :)

q-oo-p

อ้างถึงจาก: UnLock UnlimiT ใน 30 มกราคม 2013, 12:50:34
ผมว่าแบบนี้ง่ายกว่านะ

<?
$data = "/Department/1745/ของใช้ในชีวิตประจำวัน/?Paths=1740-1745";

function cutter($data){
$cutdate = explode("/", $data);
$data = "/department.php?id=$cutdate[2]";
return $data;
}

$show = cutter($data);
echo $show;

?>

เหตุที่ต้องการทำเป็น Function เพราะ 1 page มีประมาณมากกว่า 100 Link คะ
ขอบคุณมากเลยคะ  :wanwan008:

ศึกษาจาก http://php.net/manual/en/function.ereg-replace.php ก็ยังงงอยู่ค่ะไม่รู้จะทำยังไงดีเลย  :wanwan044:
✿ ขายโดเมนพีอาร์สูง ✿
PR5 2000.-
PR6 4000.-
TEL: 091-003-4020 LINE: ZIONPIG
ดูรายชื่อโดเมนที่เว็บ: [direct=http://www.pricebuysale.com/] PriceBuySale.COM [/direct]

UnLock UnlimiT

ครับดูแล้วฟังชั่นที่ผมเขียนตะกี่ก็น่าจะเอาไปประยุคใช้ได้ทันทีเลยครับ ลองเอาไปแกะๆ ดูผม edit คำอธิบายข้างบนไว้ น่าจะมีประโยชน์ กับการเขียนสคริปเพิ่มเติมด้วยครับ
งดรับซื้อ google ads ครับ :)

icez

http://th1.php.net/ereg_replace
อ้างถึงThis function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged.

function นี้จะถูกยกเลิกใน PHP version ใหม่... แนะนำให้ใช้ preg_replace แทนครับ
[direct=http://www.thzhost.com/]THZHost[/direct] SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ

smapan

เห็นแววปแรกนึกถึง explode เลย  :P

function replaceLinks($data){
      $data_array = Array()
      $data_array = explode("/", $data);
      $data = "/".strtolower($data_array[1]).".php?id=/".$data_array[2];
      return $data;
}

แต่ก็สงสัยว่า /ชุดชั้นใน?Paths=6 และ /ของใช้ในชีวิตประจำวัน/?Paths=1740-1745 นำมาคิดด้วยรึเปล่า
[direct=http://cp.siamhostweb.com/cart.php?gid=1]จูมล่าโฮส สยามโฮสเว็บ[/direct] [direct=http://www.modty.com]modty.com[/direct]
[direct=http://www.apartment.in.th]รวมที่พัก เช่ารายวัน ที่พักเช่ารายเดือนมากที่สุดแจ่มจริง[/direct]
***Tel 083-757-1515 ติดปัญหา Joomla ตรงไหนรับปรึกษาฟรี โทรมาเถอะครับ ถ้าตอบได้ช่วยแน่นอน ไม่มีกั้ก. ***

q-oo-p

อ้างถึงจาก: smapan ใน 30 มกราคม 2013, 12:59:12
เห็นแววปแรกนึกถึง explode เลย  :P

function replaceLinks($data){
     $data_array = Array()
     $data_array = explode("/", $data);
     $data = "/".strtolower($data_array[1]).".php?id=/".$data_array[2];
     return $data;
}

แต่ก็สงสัยว่า /ชุดชั้นใน?Paths=6 และ /ของใช้ในชีวิตประจำวัน/?Paths=1740-1745 นำมาคิดด้วยรึเปล่า


/ชุดชั้นใน?Paths=6 และ /ของใช้ในชีวิตประจำวัน/?Paths=1740-1745
ไม่ได้นำมาใช้คะ  :wanwan008:

function replaceLinks($data){
     $data_array = Array()
     $data_array = explode("/", $data); <-- Parse error: syntax error, unexpected T_VARIABLE
     $data = "/".strtolower($data_array[1]).".php?id=/".$data_array[2];
     return $data;
}

พอนำเอา function ไปใช้มี error คะ
✿ ขายโดเมนพีอาร์สูง ✿
PR5 2000.-
PR6 4000.-
TEL: 091-003-4020 LINE: ZIONPIG
ดูรายชื่อโดเมนที่เว็บ: [direct=http://www.pricebuysale.com/] PriceBuySale.COM [/direct]

rnon

function replaceLinks($url){
preg_match("#\/(.*?)\/(.*?)\/#",$url, $data);
$data = $data[1].".php?id=".$data[2];
return $data;
}

█ [direct=https://www.youtube.com/playlist?list=PLg0-B6oZ1wT9UX4PPVQDpnZiu625e-vcf]SketchUp[/direct]
█ [direct=http://อําเภอเขาวง.blogspot.com]IINON[/direct]
█ [direct=https://www.ce.in.th]SketchUP , Layout[/direct]

smapan

อ้างถึงจาก: q-oo-p ใน 30 มกราคม 2013, 13:03:41
อ้างถึงจาก: smapan ใน 30 มกราคม 2013, 12:59:12
เห็นแววปแรกนึกถึง explode เลย  :P

function replaceLinks($data){
     $data_array = Array()
     $data_array = explode("/", $data);
     $data = "/".strtolower($data_array[1]).".php?id=/".$data_array[2];
     return $data;
}

แต่ก็สงสัยว่า /ชุดชั้นใน?Paths=6 และ /ของใช้ในชีวิตประจำวัน/?Paths=1740-1745 นำมาคิดด้วยรึเปล่า


/ชุดชั้นใน?Paths=6 และ /ของใช้ในชีวิตประจำวัน/?Paths=1740-1745
ไม่ได้นำมาใช้คะ  :wanwan008:

function replaceLinks($data){
     $data_array = Array()
     $data_array = explode("/", $data); <-- Parse error: syntax error, unexpected T_VARIABLE
     $data = "/".strtolower($data_array[1]).".php?id=/".$data_array[2];
     return $data;
}

พอนำเอา function ไปใช้มี error คะ

สงสัยว่าจะตก ; ไปนะครับ

$data_array = Array()
ที่จริงต้องเป็น
$data_array = array();
[direct=http://cp.siamhostweb.com/cart.php?gid=1]จูมล่าโฮส สยามโฮสเว็บ[/direct] [direct=http://www.modty.com]modty.com[/direct]
[direct=http://www.apartment.in.th]รวมที่พัก เช่ารายวัน ที่พักเช่ารายเดือนมากที่สุดแจ่มจริง[/direct]
***Tel 083-757-1515 ติดปัญหา Joomla ตรงไหนรับปรึกษาฟรี โทรมาเถอะครับ ถ้าตอบได้ช่วยแน่นอน ไม่มีกั้ก. ***

q-oo-p

ทำได้แล้วค่ะขอบคุณทุกคนที่ช่วยเหลือ ขอบคุณสำหรับคำแนะนำทุกคำตอบคะ
:-*  :wanwan017: :wanwan017:
จากคำแนะนำด้านบนทั้งหมด มันตัดข้อความในบทความด้วยที่นอกเหนือจาก Link ที่มี "/"  :-X
ยังไม่ประสบด้วยสำเร็จเลย  :wanwan012: :wanwan012:

ก็เลยติดสินใจอ่านภาษาอังกฤษลองผิดลองถูกใน php.net 
:wanwan009:  ???

ใช้เวลาทั้งวันผ่านไปในวันนี้      ได้แล้ว เย้ๆ

function replaceLinks($data){
      $data = ereg_replace("([/Department/])+([0-9]+[/])+([-*.?a-zA-Z0-9_/-?&%]+[/?Paths=]+[0-9])" , "/department.php?id=\\2" ,$data);
      return $data;
}


ปล. ขอบคุณทุกคนและคำแนะนำคะ ถ้ามีปัญหาอะไรมาถามใหม่นะคะ
✿ ขายโดเมนพีอาร์สูง ✿
PR5 2000.-
PR6 4000.-
TEL: 091-003-4020 LINE: ZIONPIG
ดูรายชื่อโดเมนที่เว็บ: [direct=http://www.pricebuysale.com/] PriceBuySale.COM [/direct]

djmixmun


dead13th

เยี่ยมครับ
เว็บลงประกาศฟรี www.post2ads.net