Dopplung ausschließen / nicht anzeigen

PHP - alles Rund um die Programmierung von PHP und MySQL

Ist die geniale Programmiersprache, da sowohl für Einsteiger geeignet wie auch für Profis.

Moderator: lauras

Beiträge bitte im neuen Forum

Dopplung ausschließen / nicht anzeigen

Beitragvon rernanded » Samstag 17. Dezember 2011, 18:43

Code: Alles auswählen
foreach($matches as $var)
    {   
        echo "$url$var <a href=".$url.$var.">LINK</a><br>";
    }


Hi,
Bei 1 wurde die Serverhauptadresse = $url vor $var geschrieben was eine linkbare Adresse ergibt.
Wie kann ich ausschließen das dies auch bei 2 passiert da hier eine linkbare Adresse schon vorhanden ist?

Seitenquelltext:
Code: Alles auswählen
1 <a href=http://www.sigmaringen.de/k4cms/de/suche.html?PHPSESSID=0aa867333fa57875c885d22f52264c93>LINK</a>
2 <a href=http://www.sigmaringen.dehttp://www.sigmaringen2013.de>LINK</a><br>


1. http://www.sigmaringen.de/k4cms/de/suche.html?PHPSESSID=0aa867333fa57875c885d22f52264c93 LINK
2. http://www.sigmaringen.dehttp://www.sigmaringen2013.de LINK

Moni
rernanded
HTML-Newbie
 
Beiträge: 44
Registriert: Montag 10. Oktober 2011, 14:34

Re: Dopplung ausschließen / nicht anzeigen

Beitragvon lauras » Samstag 17. Dezember 2011, 19:11

Ich würde einfach prüfen, ob ein http:// beim zweiten Teil vorne dran ist und dann wenn ja nur $var ausgeben und wenn nicht $url$var.. Brauchst du halt ein if und z.B. strpos oder nen regulären Ausdruck :)

Grüße
Benutzeravatar
lauras
Moderator
 
Beiträge: 2114
Registriert: Samstag 3. November 2007, 22:08

Re: Dopplung ausschließen / nicht anzeigen

Beitragvon rernanded » Samstag 17. Dezember 2011, 21:16

Tja daran hab ich auch gedacht, doch mir fehlen die Kenntnisse für if ... in der foreach-Schleife.
Hab mal sowas gemacht, doch die ? sind zu ersetzen.
Moni

Code: Alles auswählen
foreach($matches as $var)
    {   

if $? = strpos($?, $?) {

        echo "$var <a href=".$var.">LINK</a><br>";
}
else {

        echo "$url$var <a href=".$url.$var.">LINK</a><br>";
    }
}
rernanded
HTML-Newbie
 
Beiträge: 44
Registriert: Montag 10. Oktober 2011, 14:34

Re: Dopplung ausschließen / nicht anzeigen

Beitragvon Sören » Samstag 17. Dezember 2011, 21:32

Versuchs mal mit
Code: Alles auswählen
if (== strpos($var"http://")) [...] 

Mit dem strpos wird nach einem Vorkommen von "http://" in $var gesucht.
Wenn strpos ein Vorkommen findet, gibt es die Stelle zurück, an der es gefunden wurde, daher überprüfen wir, ob 0 zurückgegeben wurde, womit wir wissen, das http:// auch in $var und am Anfang vorkommt, $var somit schon ein vollständiger Link ist und $url nicht davor geschrieben werden muss.
Benutzeravatar
Sören
HTML-Acrobat
 
Beiträge: 851
Registriert: Samstag 5. Juni 2010, 16:00

Re: Dopplung ausschließen / nicht anzeigen

Beitragvon rernanded » Samstag 17. Dezember 2011, 21:46

Ich hab jetzt den Code so eingebaut:


Code: Alles auswählen
foreach($matches as $var)
    {   

if (0 == strpos($var, "http://")) {

        echo "$var <a href=".$var.">LINK</a><br>";
}
else {

        echo "$url$var <a href=".$url.$var.">LINK</a><br>";
    }
}


Aber es klappt nicht wie gewünscht.

Moni
rernanded
HTML-Newbie
 
Beiträge: 44
Registriert: Montag 10. Oktober 2011, 14:34

Re: Dopplung ausschließen / nicht anzeigen

Beitragvon Sören » Samstag 17. Dezember 2011, 21:56

Ups, versuchs mal mit 3 Gleichheitszeichen in der if-Bedingung.
Bei 2 Gleichheitszeichen ist die Bedingung nämlich auch wahr, wenn strpos false zurückgibt, wenn es nichts gefunden hat.

Bei einem Vergleich mit zwei Gleichheitszeichen sind für PHP 0 und false (oder 1 und true, "1" und 1, etc.), dasselbe, da der Datentyp nicht gleich sein muss. (Vergleich auf Gleichheit)
Bei drei Gleichheitszeichen müssen dagegen auch die Datentypen identisch sein, strpos muss also wirklich die Zahl 0 und nicht false zurückgeben, damit die Bedingung wahr ist. (Vergleich auf Identität)
Benutzeravatar
Sören
HTML-Acrobat
 
Beiträge: 851
Registriert: Samstag 5. Juni 2010, 16:00

Re: Dopplung ausschließen / nicht anzeigen

Beitragvon rernanded » Samstag 17. Dezember 2011, 22:01

@sören alles klar und danke, good night. :P

Moni
rernanded
HTML-Newbie
 
Beiträge: 44
Registriert: Montag 10. Oktober 2011, 14:34


Beiträge bitte im neuen Forum

Zurück zu PHP

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron