ผมต้องการ จะเปลี่ยนค่าใน url ให้เป็น xxxx นะครับ จากคำถาม ถ้าผมมีตัวแปร ที่มีข้อมูล url
Code (PHP)
$temp = preg_replace("#(^|[\n ])([\w]+?://[^ \"\n\r\t<]*)#is", "http://xxx.xxxxxxxxx.xxx", $temp);
Date :
2009-10-27 11:58:24
By :
webmaster
ผมลองแล้ว ผมที่ได้ $a="http://www.gcom.com is good website please visit to xxx.xxxxxxxxx.xxx";
แต่ url ข้างหน้า ยังเหมือนเดิม
Date :
2009-10-27 12:04:33
By :
nilas
-แสดงจำนวน x เท่ากับจำนวน url
-อย่างน้อยต้องระบุโปรโตคอลสักคำก่อน คำอื่นจึงสามารถแทน x ได้
ดูตัวอย่างข้างล่างเลยละกันครับดูข้อจำกัดละกัน
แก้ไขครั้งที่1 55+ คิดว่าน่าจะยังไม่สมบูรณ์เอาไว้ว่างๆเห็นแล้วจะมาแก้
Code (PHP)
<?php
$temp ="https://www.thaicreate.com/php/forum/033544.html www.thaicreate.com<br/> ";
$temp .="http://www.gcom.com is good website please visit to www.gcom.com<br/>";
$temp .="http://192.168.1.1 192.168.1.1<br/>";
$temp .="business.org ftp://business.org ";
echo "BEFORE:<br/>$temp<br/>";
echo "AFTER:<br/>";
echo url2x($temp);
function url2x($temp){
$protocol =array("/(http:\/\/)/","/(https:\/\/)/","/(ftp:\/\/)/");
$replace =array("xxxx://","xxxxx://","xxx://");
$temp = preg_replace($protocol,$replace,$temp); // เปลี่ยนโปรโตคอลให้เป็น xx://
$posURL=0;
$posNextURL =strpos($temp,"xxx://",$posURL)+strlen("xxx://");
while($posURL<$posNextURL){ // วนลูปหา url ตัวอื่น
$posURL=$posNextURL ;
$posEndURL= strpos($temp,' ',$posURL);
if($posURL>$posEndURL) $posEndURL=strlen($temp);
$URLlen=$posEndURL-$posURL;
$url =substr($temp,$posURL,$URLlen);
$replace =preg_replace("/[^\.\/<>]/","x",$url);
$temp = preg_replace("($url)",$replace,$temp); //เปลี่ยน url นี้ให้เป็น xx
$parentURL=preg_replace('/([\w]+)\/(.*)/','\\1',$url);
$replace =preg_replace("/[^\.\/<>]/","x",$parentURL);
$temp = preg_replace("($parentURL)",$replace,$temp);
$posNextURL=strpos($temp,"xxx://",$posURL)+strlen("xxx://");
$posURL =$posEndURL+1;
}
return $temp;
}
?>
Result:
Code
BEFORE:
http://www.gcom.com is good website please visit to www.gcom.com
https://www.thaicreate.com/php/forum/033544.html www.thaicreate.com
http://192.168.1.1 192.168.1.1
business.org ftp://business.org
www.google.com www.google.com
AFTER:
xxxx://xxx.xxxx.xxx is good website please visit to xxx.xxxx.xxx
xxxx://xxx.xxxxxxxxxx.xxx/xxx/xxxxx/xxxxxx.xxxx xxx.xxxxxxxxxx.xxx
xxxx://xxx.xxx.x.x xxx.xxx.x.x
xxxxxxxx.xxx xxx://xxxxxxxx.xxx
www.google.com www.google.com
Date :
2009-10-27 16:06:28
By :
xbeginner01
งง ครับ ผมหัวยังไม่ถึง ไม่เข้าใจเลย
Date :
2009-10-28 09:40:50
By :
tingtongkub
ถ้าข้อมูลที่รับมามันรับมา texteditor พอรับค่ามา มันไม่ตัดให้อะค่ะ
แบบนี้อะค่ะ
Tel: 0858655203 www.ipropertythailand.com
New condo room near Big C
LCD TV
Heater
Built0in Bed
Working Desk
Fridge
near Main road
market
hot spring
7 eleven
bangkok bank
20 mins to airport
hospital
school
มันตัดให้แค่
Tel: 0xxxxxxxxx
Date :
2011-06-02 15:50:29
By :
kwangz_07
Load balance : Server 03