ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programming██►ถาม ereg_replace() ใน PHP ช่วยด้วยๆๆๆค่ะ สำคัญมากเลย ◄██
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ██►ถาม ereg_replace() ใน PHP ช่วยด้วยๆๆๆค่ะ สำคัญมากเลย ◄██  (อ่าน 1552 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
q-oo-p
ก๊วนเสียว
*

พลังน้ำใจ: 117
ออฟไลน์ ออฟไลน์

กระทู้: 368



ดูรายละเอียด เว็บไซต์
« เมื่อ: 30 มกราคม 2013, 12:17:36 »

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

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

ereg_replace()   Tongue Tongue

การแทนที่ข้อความที่พบด้วยคำที่ต้องการ ใน 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
« แก้ไขครั้งสุดท้าย: 30 มกราคม 2013, 12:46:58 โดย q-oo-p » บันทึกการเข้า

✿ ขายโดเมนพีอาร์สูง ✿
PR5 2000.-
PR6 4000.-
TEL: 091-003-4020 LINE: ZIONPIG
ดูรายชื่อโดเมนที่เว็บ: PriceBuySale.COM
Optimus
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 2,675



ดูรายละเอียด
« ตอบ #1 เมื่อ: 30 มกราคม 2013, 12:40:24 »

ดันให้ครับ
บันทึกการเข้า

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

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

ขาย Account Skimlinks ปั่น Amazon ได้ (ตอนนี้คนไทยสมัครไม่ผ่านแล้ว) 4500  บาท PM ครับ
UnLock UnlimiT
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 228
ออฟไลน์ ออฟไลน์

กระทู้: 1,899



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 30 มกราคม 2013, 12:50:34 »


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

<?

$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;     

?>
   
« แก้ไขครั้งสุดท้าย: 30 มกราคม 2013, 12:54:10 โดย UnLock UnlimiT » บันทึกการเข้า

งดรับซื้อ google ads ครับ Smiley
q-oo-p
ก๊วนเสียว
*

พลังน้ำใจ: 117
ออฟไลน์ ออฟไลน์

กระทู้: 368



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 30 มกราคม 2013, 12:53:21 »

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

<?
$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
« แก้ไขครั้งสุดท้าย: 30 มกราคม 2013, 12:55:59 โดย q-oo-p » บันทึกการเข้า

✿ ขายโดเมนพีอาร์สูง ✿
PR5 2000.-
PR6 4000.-
TEL: 091-003-4020 LINE: ZIONPIG
ดูรายชื่อโดเมนที่เว็บ: PriceBuySale.COM
UnLock UnlimiT
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 228
ออฟไลน์ ออฟไลน์

กระทู้: 1,899



ดูรายละเอียด เว็บไซต์
« ตอบ #4 เมื่อ: 30 มกราคม 2013, 12:55:43 »

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

งดรับซื้อ google ads ครับ Smiley
icez
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 296
ออฟไลน์ ออฟไลน์

กระทู้: 2,879



ดูรายละเอียด
« ตอบ #5 เมื่อ: 30 มกราคม 2013, 12:58:36 »

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 แทนครับ
บันทึกการเข้า

THZHost SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ
smapan
Global Moderator
เจ้าพ่อบอร์ดเสียว
*****

พลังน้ำใจ: 643
ออฟไลน์ ออฟไลน์

กระทู้: 8,272



ดูรายละเอียด เว็บไซต์
« ตอบ #6 เมื่อ: 30 มกราคม 2013, 12:59:12 »

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

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 นำมาคิดด้วยรึเปล่า
« แก้ไขครั้งสุดท้าย: 30 มกราคม 2013, 13:00:15 โดย smapan » บันทึกการเข้า

จูมล่าโฮส สยามโฮสเว็บ modty.com
รวมที่พัก เช่ารายวัน ที่พักเช่ารายเดือนมากที่สุดแจ่มจริง
***Tel 083-757-1515 ติดปัญหา Joomla ตรงไหนรับปรึกษาฟรี โทรมาเถอะครับ ถ้าตอบได้ช่วยแน่นอน ไม่มีกั้ก. ***
q-oo-p
ก๊วนเสียว
*

พลังน้ำใจ: 117
ออฟไลน์ ออฟไลน์

กระทู้: 368



ดูรายละเอียด เว็บไซต์
« ตอบ #7 เมื่อ: 30 มกราคม 2013, 13:03:41 »

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

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 คะ
« แก้ไขครั้งสุดท้าย: 30 มกราคม 2013, 13:09:53 โดย q-oo-p » บันทึกการเข้า

✿ ขายโดเมนพีอาร์สูง ✿
PR5 2000.-
PR6 4000.-
TEL: 091-003-4020 LINE: ZIONPIG
ดูรายชื่อโดเมนที่เว็บ: PriceBuySale.COM
rnon
ก๊วนเสียว
*

พลังน้ำใจ: 23
ออฟไลน์ ออฟไลน์

กระทู้: 257



ดูรายละเอียด เว็บไซต์
« ตอบ #8 เมื่อ: 30 มกราคม 2013, 13:30:49 »

โค๊ด:
function replaceLinks($url){
preg_match("#\/(.*?)\/(.*?)\/#",$url, $data);
$data = $data[1].".php?id=".$data[2];
return $data;
}
บันทึกการเข้า

smapan
Global Moderator
เจ้าพ่อบอร์ดเสียว
*****

พลังน้ำใจ: 643
ออฟไลน์ ออฟไลน์

กระทู้: 8,272



ดูรายละเอียด เว็บไซต์
« ตอบ #9 เมื่อ: 30 มกราคม 2013, 13:36:26 »

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

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();
บันทึกการเข้า

จูมล่าโฮส สยามโฮสเว็บ modty.com
รวมที่พัก เช่ารายวัน ที่พักเช่ารายเดือนมากที่สุดแจ่มจริง
***Tel 083-757-1515 ติดปัญหา Joomla ตรงไหนรับปรึกษาฟรี โทรมาเถอะครับ ถ้าตอบได้ช่วยแน่นอน ไม่มีกั้ก. ***
q-oo-p
ก๊วนเสียว
*

พลังน้ำใจ: 117
ออฟไลน์ ออฟไลน์

กระทู้: 368



ดูรายละเอียด เว็บไซต์
« ตอบ #10 เมื่อ: 30 มกราคม 2013, 16:12:10 »

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

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

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

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
ดูรายชื่อโดเมนที่เว็บ: PriceBuySale.COM
djmixmun
สมุนแก๊งเสียว
*

พลังน้ำใจ: 27
ออฟไลน์ ออฟไลน์

กระทู้: 870



ดูรายละเอียด เว็บไซต์
« ตอบ #11 เมื่อ: 31 มกราคม 2013, 18:32:24 »

เก็บความรู้
บันทึกการเข้า

บริการ  ลงเสียง อ่านสปอตโฆษณาวิทยุโทรทัศน์ เสียงบรรยาย   ลงเสียงทั้งไทย-อังกฤษ แบบมืออาชีพ
dead13th
คนรักเสียว
*

พลังน้ำใจ: 21
ออฟไลน์ ออฟไลน์

กระทู้: 186



ดูรายละเอียด เว็บไซต์
« ตอบ #12 เมื่อ: 03 กุมภาพันธ์ 2013, 11:32:56 »

เยี่ยมครับ
« แก้ไขครั้งสุดท้าย: 03 กุมภาพันธ์ 2013, 11:33:53 โดย dead13th » บันทึกการเข้า

เว็บลงประกาศฟรี www.post2ads.net
หน้า: [1]   ขึ้นบน
พิมพ์