2016-04-25 6 views
2

iWie entferne ich http, https, hieb, www aus Benutzereingaben in php

http:// 
ftp:// 
https:// 
ftps:// 
http://www. 
https://www. 
ftp://www. 
ftps://www. 
www. 

wir, wenn jemand oben mit Domain-URL entfernen möchten entfernen möchten. wollen wir nur zeigen url

domain.com 

wir versuchen preg_replacefor HTTP und HTTPS. es funktioniert gut für beide, aber es funktioniert nicht. wenn gefunden www oder ftp

preg_replace('#^https?://#', '', $str) 
+0

http://php.net/parse_url – Mike

+0

@ Mike: Ja, aber Sie dann muss immer noch das www bekommen. raus da. – AbraCadaver

Antwort

2

Könnte ein besseres sein, aber dies sollte es tun:

$result = preg_replace('#^(https?://|ftps?://)?(www.)?#', '', $str); 
  • (http mit optionaler ? s: // oder | ftp mit optionalem ? s: //) mit beiden optionalen ?
  • www. optional ?
0

Hier ist eine einfachere regex:

$result = preg_replace('%^(htt|ft)ps?://|(www\.)%i', '', $url); 

%i (unempfindlich) für Fälle wie Https usw.