Julian: Linküberprüfungsscript funktioniert nicht

Wie das Thema schon sagt, hab ich ein Script, das überprüft, ob http:// vorweg ist oder nicht. Leider funktioniert dieses nicht so wie es soll

if (substr($homepage,0,6) != "http://")
{
$ready_url = "http://".$homepage;
}
else
{
$ready_url = $homepage;
}

Leider ist die erste Bedingung immer TRUE und ich weiß nicht warum.
Kann mir jem. helfen?

Schon mal danke
Julian

  1. Hi,

    if (substr($homepage,0,6) != "http://")
    Leider ist die erste Bedingung immer TRUE und ich weiß nicht warum.

    weil "http://" niemals 6 Zeichen lang ist.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  2. Hallo!

    if (substr($homepage,0,6) != "http://")
    Leider ist die erste Bedingung immer TRUE und ich weiß nicht warum.
    Kann mir jem. helfen?

    Klar! Zählen wir mal: h t t p : / / Mmmmh, das sind 7 Zeichen, aber du prüfst nur auf die ersten 6 Zeichen, ergo http:/ != http://.

    Hättest halt mal das substr($homepage,0,6) per echo ausgeben lassen, dann hättest du das selber gesehen!

    Kleiner Tipp, mit regulären Ausdrücken geht das etwas eleganter.

    Ciao,
    Andy

  3. Hallo Julian,

    Ich tippe mal auf Betriebsblindheit:

    if (substr($homepage,0,6) != "http://")

    die Funktion substr erwartet als (optionalen) dritten Parameter die Länge des Strings - "http://" ist aber nicht 6 sondern 7 Zeichen lang :-)

    Grüße aus Nürnberg
    Tobias

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
    1. Ich dachte es wird bei 0 angefangen zu zählen?!

      1. Hallo!

        Ich dachte es wird bei 0 angefangen zu zählen?!

        Ja und? Schon, aber es sind 7 Zeichen, die du willst und keine 6 Zeichen!

        Ciao,
        Andy

      2. Hi,

        Ich dachte es wird bei 0 angefangen zu zählen?!

        eine Länge wird nicht gezählt.

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
      3. Sorry für Doppelpost aber muss eigene Dummheit korrigieren =).
        Hab falsch gedacht danke =)