PHP & databáze

Otakar Pěnkava

Administrátor
WD Trader: 4.6/5

Příspěvky: 2707
Registrace: 15.10.2010
Ahoj,
mám snadné řešení pro odstranění http:// a www. z adresy domény. Pokud někdo zadá http://www.domena.cz nebo jen http://domena.cz nebo http://www.domena.cz, skript mi dostane z toho domena.cz a to i se zachováním možnách subdomén.

Skript vypadá následovně:
Kód: Vybrat vše
$url = isset($_POST['url']) ? $_POST['url'] : '';
$url = str_replace('http://', '', $url);
$url = str_replace('www.', '', $url);


Nevýhodou je, že pokud by do takového skriptu zkoušel zadat Petr Jeník své owww.cz, přidal by jen ocz. Proto mě napadlo řešit to pomocí regexp a to aby skript odstranil http://, https://, www. a zachoval subdoménu. Nemá někdo z vás takový výraz již napsaný? Byl bych moc vděčný, děkuji.

vbrazda
Uživatelský avatar
WD Trader: N/A/5

Příspěvky: 14
Registrace: 07.11.2012
Kód: Vybrat vše
$url = preg_replace('~^http://~', '', $url);
$url = preg_replace('~^www\.~', '', $url);
wTrh.cz - agregátor nabídek, poptávek a aukcí nejen z webtrhů v BETA verzi
 Pozvánka na prosincový sraz Markeťáků na Vysočině

Robert
Uživatelský avatar
WD Trader: 5/5

Příspěvky: 126
Registrace: 15.07.2011
Kód: Vybrat vše
preg_replace('/(?:https?:\/\/)?(?:www\.)?(.*)\/?$/i', '$1', $url);


Btw tvoje řešení by stačilo jen trochu upravit:

Kód: Vybrat vše
$url = isset($_POST['url']) ? $_POST['url'] : '';
$url = str_replace('http://www.', '', $url);
$url = str_replace('http://', '', $url);

:)

Otakar Pěnkava

Administrátor
WD Trader: 4.6/5

Příspěvky: 2707
Registrace: 15.10.2010
Pro plnohodnotné využívání fóra, vč. psaní příspěvků se musíte registrovat nebo se přihlásit.
Registrovat se nebo Přihlásit se