Ich habe gerade überprüft diesen Beitrag (nach 2 Jahren) könnten Sie die Antwort bekommen, aber für diejenigen, die Anfänger sind, können Sie regelmäßig verwenden Ausdruck jede Art von URL oder Query String
(https|http|ftp)\:\/\/|([a-z0-9A-Z]+\.[a-z0-9A-Z]+\.[a-zA-Z]{2,4})|([a-z0-9A-Z]+\.[a-zA-Z]{2,4})|\?([a-zA-Z0-9]+[\&\=\#a-z]+)
es wird jede Art von URLs Streifen, werfen sie einen Blick auf die folgende Liste zu entfernen. Ich habe verschiedene Arten von Domains für diejenigen, die „wird es abzustreifen .us, .in oder .pk etc Art von Domains oder nicht.
- ftp://www.web.com
- web.net
- www.website stellen wollen .info
- website.us
- web.ws?query=true
- www.web.biz?query=true
- ftp://web.in?query=true
- media.google.com
- ns.google.pk
- ww1.smart.au
- www3.smart.br
- w1.smart.so
- ? ques == zwei & t = p
- http://website.info?ques==two&t=p
- https://www.weborwebsite.com
Arbeitsbeispiel (in PHP5 +, Apache2 + getestet):
$str = "ftp://www.web.com, web.net, www.website.info, website.us, web.ws?query=true, www.web.biz?query=true, ftp://web.in?query=true, media.google.com hello world, working more with ns ns.google.pk or ww1.smart.au and www3.smart.br w1.smart.so ?ques==two&t=p http://website.info?ques==two&t=p https://www.weborwebsite.com and ftp://www.hotmail.br";
echo preg_replace("/(https|http|ftp)\:\/\/|([a-z0-9A-Z]+\.[a-z0-9A-Z]+\.[a-zA-Z]{2,4})|([a-z0-9A-Z]+\.[a-zA-Z]{2,4})|\?([a-zA-Z0-9]+[\&\=\#a-z]+)/i", "", $str);
wird es
, , , , , , , hello world, working more with ns or and and
zurückkehren Hoffe, dass es da draußen eine Menge Programmierer hilft
Hinweis hilft, dass es eine neuere Version hier dieser regex ist: http://daringfireball.net/2010/ 07/enhanced_regex_for_matching_urls – IMSoP
Implementiert in PHP: [http://stackoverflow.com/a/10002262/1055533](http://stackoverflow.com/a/10002262/1055533) – Oskar