Wie kann ich Länge einer Url bestimmen, jedoch ohne http://www.

Also wenn sicher ist das immer "http://www." davor steht, dann kannst du es ganz einfach mit strlen lösen.

PHP:
$url = "http://www.tripadvisor.co.uk/Hotel_Review-g641744-d272573-Reviews-Appartement_Hotel_Almhof-Kirchberg_Tirol_Austrian_Alps.html";
echo strlen($url) - 11;
 
@alxy
Dein Beispiel lässt das www. drin

@tombe
Deine Version funktioniert nur wenn die URL brav mit http://www. beginnt.

Mit preg_match kann man verschiedene Möglichkeiten abfangen. Mann weiss ja nie wie sauber das die Links eingetragen wurden.

PHP:
$url = 'http://www.tripadvisor.co.uk/Hotel_Review-g641744-d272573-Reviews-Appartement_Hotel_Almhof-Kirchberg_Tirol_Austrian_Alps.html';

$pattern = '/^(?:http:\/\/|)(?:www\.|)(.*)$/i';
if(preg_match($pattern, $url, $subpattern)){
    echo strlen($subpattern[1]);
}

Funktioniert mit
Code:
http://www.tripadvisor.co.uk/Hote...
tripadvisor.co.uk/Hote...
www.tripadvisor.co.uk/Hote...
http://tripadvisor.co.uk/Hote...
 
Ich würde Yaslaws Beispiel noch um ein Detail erweitern: es könnten auch URIs mit HTTPS angegeben werden. Dann müsste das Suchmuster so aussehen:
PHP:
$pattern = '/^(?:http(?:s|):\/\/|)(?:www\.|)(.*)$/i';
 
Zurück