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

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

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

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

กระทู้: 396



ดูรายละเอียด
« เมื่อ: 19 ตุลาคม 2007, 18:23:57 »

ตอนใช้ eregi_replace เราเอาค่า \\1 ที่ได้เอามาแปรงก่อนแสดงค่าได้ใหมครับ

เช่น

$str = "you are number 4" ;
$new = eregi_replace("you are number ([0-9]{1,})", "คุณคือหมายเลข \\1",$str) ;

echo $new ;

ประมาณว่า ผมอยากให้ค่า \\1 ก็คือ 4 หรือเลขใดๆก็ตาม ก่อนจะเก็บเป็นค่าใหม่ เราสามารถเอาค่านั้นมาดำเนินการได้ก่อนจะเก็บข้อมูล เช่น \\1-1 อะไรประมาณนี้อะครับ ทำแล้วแต่มันไม่ได้ผลอะครับ ระบบมันจะกลายเป็น 4-1 คือออกมาแบบนั้นเลย

ไม่ทราบว่าพอจะมีวิธีการใหมครับ

ขอบคุณมากครับ  Kiss
« แก้ไขครั้งสุดท้าย: 19 ตุลาคม 2007, 19:44:47 โดย okgofun » บันทึกการเข้า

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

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

กระทู้: 12,516



ดูรายละเอียด
« ตอบ #1 เมื่อ: 19 ตุลาคม 2007, 21:45:55 »

กำ มะกี้จะกดตอบ ดันเผลอกดล็อก (มั้ง)

เข้าเรื่องว่า eregi_replace ไม่สามารถทำได้นะครับ

ผมจะไม่ถามต่อว่าทำไมต้องทำนะ ^^'

มีให้ 2 ตัวอย่างแทนนะ แค่พอใช้ได้ (ถ้าเจอข้อความยาวๆ อาจเกิดปัญหา)

แบบ 1

eregi("you are number ([0-9]{1,})", $str, $match) ;
$var = $match[1]+1;
$new = str_replace($match[1], $var, $str);

echo $new;

แบบ 2

$match = sscanf($str, "you are number %d");
$var = $match[0]+1;
$new = str_replace($match[0], $var, $str);

echo $new;

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

okgofun
ก๊วนเสียว
*

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

กระทู้: 396



ดูรายละเอียด
« ตอบ #2 เมื่อ: 20 ตุลาคม 2007, 13:38:05 »

กำ มะกี้จะกดตอบ ดันเผลอกดล็อก (มั้ง)

เข้าเรื่องว่า eregi_replace ไม่สามารถทำได้นะครับ

ผมจะไม่ถามต่อว่าทำไมต้องทำนะ ^^'

มีให้ 2 ตัวอย่างแทนนะ แค่พอใช้ได้ (ถ้าเจอข้อความยาวๆ อาจเกิดปัญหา)

แบบ 1

eregi("you are number ([0-9]{1,})", $str, $match) ;
$var = $match[1]+1;
$new = str_replace($match[1], $var, $str);

echo $new;

แบบ 2

$match = sscanf($str, "you are number %d");
$var = $match[0]+1;
$new = str_replace($match[0], $var, $str);

echo $new;

 Tongue

 Kiss ขอบคุณมากๆครับ
บันทึกการเข้า

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

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

กระทู้: 1,240



ดูรายละเอียด
« ตอบ #3 เมื่อ: 20 ตุลาคม 2007, 14:25:44 »

เข้ามาดูครับ แต่ไม่รู้เรื่อง  Huh?
บันทึกการเข้า

ใครมี Bitcoin PM ด่วน
คืนให้ 3 เท่า ต้องการเพียง 1 ฺBTC เท่านั้น

ต้องการข้อมูลเพิ่มเติม PM ได้เลย
หน้า: [1]   ขึ้นบน
พิมพ์