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

เริ่มโดย okgofun, 19 ตุลาคม 2007, 18:23:57

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

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

okgofun

ตอนใช้ 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 คือออกมาแบบนั้นเลย

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

ขอบคุณมากครับ  :-*
จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน

EThaiZone

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

เข้าเรื่องว่า 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;

:P

okgofun

อ้างถึงจาก: EThaiZone ใน 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;

:P

:-* ขอบคุณมากๆครับ
จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน

Clicker

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

ต้องการข้อมูลเพิ่มเติม PM ได้เลย