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

เริ่มโดย okgofun, 13 พฤศจิกายน 2007, 20:16:20

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

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

okgofun

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

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

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

หรือว่าเราต้องเขียนฟังก์ชั่นนับค่าแล้วบวกเอาเองครับ  :(
จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน

ball6847

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

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

อย่างสมมุติ ผมจะเอา 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 ได้อ่ะ หนุกดี หุหุ
We use Ubuntu.

[direct=http://ng-seo.sourcelab.xyz/]AngularJS SEO Experimental[/direct]

okgofun

อ้างถึงจาก: ball6847 ใน 13 พฤศจิกายน 2007, 20:36:59
คือถ้าไม่ใช้ regex ก็ต้องใช้วิธีนี้แหละคับ

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

อย่างสมมุติ ผมจะเอา 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 ไปเสียสนิทเลย แต่สงสัยต้องใช้วิธีนับจำนวนเอาหละ เหอๆ  :P
จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน

EThaiZone

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

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

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

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

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


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

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

:P

okgofun

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

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

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

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

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


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

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

:P

คือผมหมายถึงจะเริ่มหาตำแหน่งของ 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

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

เดียวนี้ไม่ถนัดเขียนแบบเดิมแล้ว :P