|
|
|
ใช้ Mysql ทำตารางมี 2 field 1) Address 2) Search เพื่อค้นหาคำ เพื่อการเปลี่ยนสี โดยใช้ ereg_replace ผลปรากฏว่า ไม่เปลี่ยนแปลง รบกวนผู้รู้แนะนำด้วยคะ |
|
|
|
|
|
|
|
Code (PHP)
$sql="select * from tb_address";
$result=mysql_db_query($dbname,$sql);
$rs=mysql_fetch_array($result);
$Address=$rs[Address];
$Search=$rs[Search];
$y=array($Search);
for($i=0;$i<count($y);$i++)
{
$text = ereg_replace($y[$i],"<font color='blue'>".$y[$i]."</font>",$Address);
}
echo nl2br($Address);
เปลี่ยนสีใน Search = "Tel :" , "Mobile :", "Email :" เป็นสีฟ้า
ผลที่ได้
1 Rough Road, Bangkok 10001, Thailand. Tel : 021111111, Mobile : 09122222, Email : [email protected] สีไม่เปลี่ยน
ขอคำแนะนำด้วยคะ
Tag : PHP, MySQL
|
ประวัติการแก้ไข 2015-04-19 15:20:00
|
|
|
|
|
Date :
2015-04-19 15:18:36 |
By :
gju |
View :
821 |
Reply :
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12.$text = ereg_replace($y[$i],"<font color='blue'>".$y[$i]."</font>",$Address);
น่าจะเป็นแบบนี้หรือเปล่า
12.$Address = ereg_replace($y[$i],"<font color='blue'>".$y[$i]."</font>",$Address);
$y=array($Search);
แก้เป็น
$y=explode(',', $Search);
ปล. print_r( $y ); มาดูก่อนว่า ได้ array ตรงตามต้องการไหม ติด เครื่องหมายคำพูด ไปด้วยหรือเปล่า
|
ประวัติการแก้ไข 2015-04-19 16:31:55
|
|
|
|
Date :
2015-04-19 16:26:09 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แก้ไขแล้ว
Code (PHP)
//$y=array($Search); แก้เป็น
$y=explode(',',$Search);
for($i=0;$i<count($y);$i++)
{
// echo $y[$i]; // แสดงผล "Tel :" "Mobile :" "Email :"
$Address = ereg_replace($y[$i],"<font color='blue'>".$y[$i]."</font>",$Address);
}
echo nl2br($Address);
ผลที่ได้เหมือนเดิมคะ ไม่เปลี่ยนสี
1 Rough Road, Bangkok 10001, Thailand. Tel : 021111111, Mobile : 09122222, Email : [email protected] สีไม่เปลี่ยน
ปล.
เคยลองทำ โดยใส่ค่า ตรงๆ โดยไม่ผ่าน DB
Code (PHP)
$Address ="1 Rough Road, Bangkok 10001, Thailand. Tel : 021111111, Mobile : 09122222, Email : [email protected]";
$y =array("Tel :", "Mobile :", "Email :");
for($i=0;$i<count($y);$i++)
{
$Address= ereg_replace($y[$i],"<font color='blue'>".$y[$i]."</font>",$Address);
}
echo $Address;
ผลที่ได้ เปลี่ยนสี แต่ทำไม พอผ่าน DB มันทำไม่ได้ก็ไม่ทราบ
|
ประวัติการแก้ไข 2015-04-19 17:18:08
|
|
|
|
Date :
2015-04-19 17:13:14 |
By :
gju |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทดลองข้างล่างดูนะครับ และลองประยุกต์ใช้ดูนะครับ
Code (PHP)
<?php
function callback($match, $color) {
return "<font color='$color'>$match[0]</font>";
}
function hk_replace($input, $wordcolor ) {
$rs=$input;
foreach($wordcolor as $color=>$word){
//$callback = new MyCallback( $color );
$rs=preg_replace_callback( '/'.$word.'/', function($match) use( $color ){ return callback( $match, $color ); } , $rs );
}
return $rs;
}
$x="Rough Road, Bangkok 10001, Thailand. Tel : 021111111, Mobile : 09122222, Email : [email protected] สีไม่เปลี่ยน";
$ColorWord = array( 'blue'=>'021111111', 'red'=>'09122222');
$output=hk_replace( $x, $ColorWord);
print $output;
?>
|
|
|
|
|
Date :
2015-04-19 17:16:58 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากคะ
|
|
|
|
|
Date :
2015-04-19 17:27:48 |
By :
gju |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|