|
|
|
คำสั่ง str_replace ค้นหาคำที่ต่างกัน จะแก้ไขอย่างไร |
|
|
|
|
|
|
|
ต้องการเอาไปทำอะไรหรอครับ...
|
|
|
|
|
Date :
2011-12-16 14:08:59 |
By :
pokultra |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
ini_set(default_charset ,"utf-8");
$subject = array("นครราชสีมา","นครนายก","นครศรีธรรมราช","สกลนคร","เชียงใหม่") ;
$pattern = '/^นคร/';
foreach($subject as $province)
{
if($province && preg_match($pattern, $province))
{
echo "Word '$pattern' found!! in $province<br/>";
}
}
$pattern2 = '/นคร/i';
foreach($subject as $province)
{
if($province && preg_match($pattern2, $province))
{
echo "Word '$pattern' found!! in $province<br/>";
}
}
|
|
|
|
|
Date :
2011-12-16 14:14:06 |
By :
tcuhaki |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แต่ถ้าอยู่ชื่อจังหวัดอยู่ในฐานข้อมูลก็ทำอย่างงี้เลยครับ
Code (PHP)
if(isset($_POST['submit'])){
$text=$_POST['text'];
$result = mysql_query("SELECT * FROM tablename WHERE columnname LIKE '%{$text}%';");
while($row=mysql_fetch_array($result)){
echo $row['columnname'].'<br/>';
}
}
<form action='' method='post'>
<input type='text' name='text' />
<input type='submit' name='submit' value='ค้นหา' />
</form>
|
ประวัติการแก้ไข 2011-12-16 14:32:15
|
|
|
|
Date :
2011-12-16 14:31:20 |
By :
thaicloud |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อยากจะแทนที่คำอ่ะครับ เช่นเรามีข้อความ
จังหวัด "นครนายก" และ จังหวัด "นครราชสีมา" เป็นจังหวัดที่มีธรรมชาติที่สวยงาม ส่วนจังหวัด "นครศรีธรรมราช" เป็นจังหวัดที่อยู่ทางภาคใต้
จะค้นหาคำที่มีคำว่า นคร แล้วแทนที่มันด้วย xxx เป็น
จังหวัด xxx และ จังหวัด xxx เป็นจังหวัดที่มีธรรมชาติที่สวยงาม ส่วนจังหวัด xxx เป็นจังหวัดที่อยู่ทางภาคใต้
แบบนี้อ่ะครับ
ขอบคุณครับ
|
|
|
|
|
Date :
2011-12-16 14:52:03 |
By :
Moonlight |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วชื่อจังหวัดถูกเก็บไว้ไหนครับ หรือไม่มีเลย อยู่แต่ในข้อความล้วนๆ?
|
|
|
|
|
Date :
2011-12-16 15:06:34 |
By :
thaicloud |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อยู่ในข้อความครับ
|
|
|
|
|
Date :
2011-12-16 15:19:25 |
By :
Moonlight |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
งั้นทำอย่างงี้ไม่ดีกว่าเหรอครับ
Code (PHP)
function stringReplace($provins1,$provins2,$provins3){
return "จังหวัด $provins1 และ จังหวัด $provins2 เป็นจังหวัดที่มีธรรมชาติที่สวยงาม ส่วนจังหวัด $provins3 เป็นจังหวัดที่อยู่ทางภาคใต้";
}
//แล้วก็เรียกใช้เมื่อต้องการ
echo stringReplace('นครนายก','นครราชสีมา','นครศรีธรรมราช');
echo stringReplace('เลย','เชียงราย','กระบี่');
|
|
|
|
|
Date :
2011-12-16 15:20:51 |
By :
thaicloud |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ปัญหามีอยู่ว่าถ้าค้นหาเจอแล้วจะใส่ชื่อจังหวัดไหนแทนจังหวัดไหนอะครับ อันนี้ลองอธิบายหน่อยซิครับ
|
|
|
|
|
Date :
2011-12-16 15:26:22 |
By :
thaicloud |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แทนที่ด้วยข้อความเดียวกันทั้งหมดครับ เช่น xxx คือค้นเจอคำที่มี นคร เมื่อไหร่ก็แทนที่ ด้วย xxx เลยครับ คล้ายๆ กับการแบนคำนั้น แต่ก่รแบนคำมันต้องมีชื่ออยู่ในฐานข้อมูล แต่นี่จะค้นเอาคำที่มีคำว่า "นคร" ซึ่งอาจจะมีเท่าไหร่ก็ไม่รู้
ขอบคุณมากครับที่ช่วยเหลือ
|
|
|
|
|
Date :
2011-12-16 15:36:16 |
By :
Moonlight |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ประมาณนี้น่าจะwork แบบที่คุณต้องการนะ
Code (PHP)
<?php
//ถ้าจะเปลี่ยนจังหวัดค้นหาก็แก้ตรงนี้เลยครับ
$town1=array('นครนายก','นครราชสีมา','นครศรีธรรมราช');
//ถ้าจะเปลี่ยนจังหวัดที่แทนที่ก็แก้ตรงนี้เลยครับ
$town2=array('เลย','เชียงราย','กระบี่');
//แต่จำนวนต้องเท่ากันนะครับ คำที่ค้นหาและคำที่จะแทนที่
//เอาค่า array ที่ 1 มาใส่เป็น Key และค่า array ที่สองมาใส่เป็น value
$arraycom=array_combine($town1,$town2);
$str = "จังหวัด นครนายกและ จังหวัด นครราชสีมา เป็นจังหวัดที่มีธรรมชาติที่สวยงาม ส่วนจังหวัด นครศรีธรรมราช เป็นจังหวัดที่อยู่ทางภาคใต้";
foreach($arraycom as $key=>$value){
$str = str_replace($key,$value,$str);
}
echo $str;
?>
|
ประวัติการแก้ไข 2011-12-16 15:42:51 2011-12-16 15:45:24 2011-12-16 15:45:50 2011-12-16 15:46:46
|
|
|
|
Date :
2011-12-16 15:37:57 |
By :
thaicloud |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$subject = "จังหวัดนครนายก และ จังหวัดนครราชสีมา เป็นจังหวัดที่มีธรรมชาติที่สวยงาม ส่วนจังหวัดนครศรีธรรมราช เป็นจังหวัดที่อยู่ทางภาคใต้";
$search = array("นครนายก","นครราชสีมา","นครศรีธรรมราช") ;
$replace = "xxx";
//ยืมใช้หน่อย ;)
foreach($search as $value)
{
$subject= str_replace($value,$replace ,$subject );
}
echo $subject;
????
|
ประวัติการแก้ไข 2011-12-16 16:11:17 2011-12-16 16:13:21
|
|
|
|
Date :
2011-12-16 16:06:31 |
By :
tcuhaki |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อ่านจาก rep 9 แล้วเข้าใจว่าต้องการแค่นั้นอ่ะคับ 55++ แต่เข้าใจว่า ถ้าไม่อยู่ในรายชื่อจังหวัดเค้าก้ออยากให้แบนด้วยครับ
เช่น นครสารขันธ์ เป็นเมืองของพม่า เป็นต้น
คนถามคงอยากให้แทนเป็น xxxx เป็นเมืองของพม่า เป็นต้น
|
ประวัติการแก้ไข 2011-12-16 16:22:47 2011-12-16 16:24:58
|
|
|
|
Date :
2011-12-16 16:20:28 |
By :
tcuhaki |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|