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

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

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingstrpos ทำไงให้ offset เป็น needle ที่ต้องการเลยแทนการหาจากตำแหน่งตัวอักษรครับ?
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: strpos ทำไงให้ offset เป็น needle ที่ต้องการเลยแทนการหาจากตำแหน่งตัวอักษรครับ?  (อ่าน 1147 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
okgofun
ก๊วนเสียว
*

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

กระทู้: 396



ดูรายละเอียด
« เมื่อ: 13 พฤศจิกายน 2007, 20:16:20 »

strpos ทำไงให้ offset เป็น needle ที่ต้องการเลยแทนการหาจากตำแหน่งตัวอักษรครับ?

หรือว่ามีฟังก์ชั่นอื่นใหมครับ

เช่นเราจะหา <a href=" แค่นี้หนะครับ ที่เคยใช้ก็มีแต่ strpos ซึ่งจะบอกตำแหน่งแล้วเราก็ใช้ substr ตัดเอา แต่กรณีที่ผมต้องการเริ่มจากตำแหน่งที่ 3 ของ tag <a href="  พอจะมี function อื่นๆใหมครับ แบบว่าถ้าหาด้วย offet มันจะหาด้วยตำแหน่งตัวอักษรนี่สิคงยุ่งยากน่าดู

หรือว่าเราต้องเขียนฟังก์ชั่นนับค่าแล้วบวกเอาเองครับ  Sad
บันทึกการเข้า

จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน
ball6847
เจ้าพ่อบอร์ดเสียว
*

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

กระทู้: 4,174



ดูรายละเอียด
« ตอบ #1 เมื่อ: 13 พฤศจิกายน 2007, 20:36:59 »

คือถ้าไม่ใช้ regex ก็ต้องใช้วิธีนี้แหละคับ

คงจะเอาไปดูดอะไรมาแน่ๆเลย หุหุ ผมก็บ่อย  Grin

อย่างสมมุติ ผมจะเอา url จาก <a> ผมจะใช้วิธี substr เนี่ยแหละคับ เพราะว่า regex ไม่ค่อยแข็งแรง หลังๆนี่เพิ่งจะพอเขียน regex ไว้ใช้ได้ (เพิ่งจะใช้ได้จิงๆวันนี้แหละ เหอๆ)

<a href="http://www.thaiseoboard.com ">เสียววุ้ย</a>

ผมจะตัดข้างหน้าออกไปก่อน ให้เหลือแค่ http://www.thaiseoboard.com ">เสียววุ้ย</a>
จากนั้นผมถึงจะตัดข้างหลังอีกที ให้เหลือ http://www.thaiseoboard.com ไม่ังั้นคงต้องมานั่ง + ตำแหน่งกันมึนแน่ๆ เลย

ผมก็ใช้วิธีนี้แหละ หาตำแหน่ง แล้วบวกเผื่อ แล้วค่อยตัด ไปทีละเปราะ ถึงจะเป็นวิธีลาวๆของคนไม่เป็น regex แต่อย่างน้อยก็ได้ผลเหมือนกัน (ดูดบทความจาก ezinearticles จนโดนแบน IP เหอๆ)

ถ้าใช้ regular expression ไม่เป็นก็ต้องยอมยุ่งยากคับ
พอเริ่มรู้ regex แล้วหนุกดีคับ ผมชอบหัดกะพวก text editor ที่ search ด้วย regex ได้อ่ะ หนุกดี หุหุ
บันทึกการเข้า

okgofun
ก๊วนเสียว
*

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

กระทู้: 396



ดูรายละเอียด
« ตอบ #2 เมื่อ: 13 พฤศจิกายน 2007, 20:49:40 »

คือถ้าไม่ใช้ regex ก็ต้องใช้วิธีนี้แหละคับ

คงจะเอาไปดูดอะไรมาแน่ๆเลย หุหุ ผมก็บ่อย  Grin

อย่างสมมุติ ผมจะเอา url จาก <a> ผมจะใช้วิธี substr เนี่ยแหละคับ เพราะว่า regex ไม่ค่อยแข็งแรง หลังๆนี่เพิ่งจะพอเขียน regex ไว้ใช้ได้ (เพิ่งจะใช้ได้จิงๆวันนี้แหละ เหอๆ)

<a href="http://www.thaiseoboard.com ">เสียววุ้ย</a>

ผมจะตัดข้างหน้าออกไปก่อน ให้เหลือแค่ http://www.thaiseoboard.com ">เสียววุ้ย</a>
จากนั้นผมถึงจะตัดข้างหลังอีกที ให้เหลือ http://www.thaiseoboard.com ไม่ังั้นคงต้องมานั่ง + ตำแหน่งกันมึนแน่ๆ เลย

ผมก็ใช้วิธีนี้แหละ หาตำแหน่ง แล้วบวกเผื่อ แล้วค่อยตัด ไปทีละเปราะ ถึงจะเป็นวิธีลาวๆของคนไม่เป็น regex แต่อย่างน้อยก็ได้ผลเหมือนกัน (ดูดบทความจาก ezinearticles จนโดนแบน IP เหอๆ)

ถ้าใช้ regular expression ไม่เป็นก็ต้องยอมยุ่งยากคับ
พอเริ่มรู้ regex แล้วหนุกดีคับ ผมชอบหัดกะพวก text editor ที่ search ด้วย regex ได้อ่ะ หนุกดี หุหุ



อ่า ใช่แล้ว ผมละลืมคำสั่ง preg_match_all ไปเสียสนิทเลย แต่สงสัยต้องใช้วิธีนับจำนวนเอาหละ เหอๆ  Tongue
บันทึกการเข้า

จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

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

กระทู้: 12,518



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 13 พฤศจิกายน 2007, 21:14:23 »

อ่านแล้วมึนกับคำถามอะ คือไม่ค่อยเข้าใจว่าต้องการอะไร (ผมไม่ค่อยถนัดกับศัพท์เทคนิคมากนัก)

แต่ผมเดาว่าต้องการใช้ฟังค์ชั่นที่มีการทำงานคล้ายกัน แต่ต้องการให้มันคืนค่ามาเป็นคำต่อจากตำแหน่งนั้นๆ

ถ้าใช่ก็ไอ้นี้เลย strstr

เอาตัวอย่างจาก php.net มาร่ายให้ฟังละกัน

โค๊ด:
$email  = '[email protected]';
$domain = strstr($email, '@');  //ตรวจจากตัว @
echo $domain; // จะได้่ค่าเป็น @example.com

ไม่แน่ใจว่าใช่ที่ต้องการหรือไม่  Tongue

แต่โดยส่วนตัวผมใช้แต่ regex เพราะมันง่าย ตัดปัญหาหมด
จนตอนนี้เขียนเหลือ regex 1 บรรทัด ก็แงะมันได้ทั้งเพจ

 Tongue
บันทึกการเข้า

okgofun
ก๊วนเสียว
*

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

กระทู้: 396



ดูรายละเอียด
« ตอบ #4 เมื่อ: 13 พฤศจิกายน 2007, 22:08:29 »

อ่านแล้วมึนกับคำถามอะ คือไม่ค่อยเข้าใจว่าต้องการอะไร (ผมไม่ค่อยถนัดกับศัพท์เทคนิคมากนัก)

แต่ผมเดาว่าต้องการใช้ฟังค์ชั่นที่มีการทำงานคล้ายกัน แต่ต้องการให้มันคืนค่ามาเป็นคำต่อจากตำแหน่งนั้นๆ

ถ้าใช่ก็ไอ้นี้เลย strstr

เอาตัวอย่างจาก php.net มาร่ายให้ฟังละกัน

โค๊ด:
$email  = '[email protected]';
$domain = strstr($email, '@');  //ตรวจจากตัว @
echo $domain; // จะได้่ค่าเป็น @example.com

ไม่แน่ใจว่าใช่ที่ต้องการหรือไม่  Tongue

แต่โดยส่วนตัวผมใช้แต่ regex เพราะมันง่าย ตัดปัญหาหมด
จนตอนนี้เขียนเหลือ regex 1 บรรทัด ก็แงะมันได้ทั้งเพจ

 Tongue

คือผมหมายถึงจะเริ่มหาตำแหน่งของ tag ที่ต้องการครับ

เช่น
<a href="abc.com">click</a>
<a href="ddd.com">click</a>
<a href="bec.net">click</a>
<a href="rfe.info">click</a>
<a href="......</>
........................ 
........................

ประมาณว่าผมต้องการเริ่มตัดข้อความจาก link ที่ 3 เป็นต้นไปนั่นเองครับ โดยเช็คจาก tag <a href="
บันทึกการเข้า

จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

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

กระทู้: 12,518



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 13 พฤศจิกายน 2007, 23:16:39 »

คงต้อง regex แล้่วละครับ

เดียวนี้ไม่ถนัดเขียนแบบเดิมแล้ว Tongue
บันทึกการเข้า

หน้า: [1]   ขึ้นบน
พิมพ์