URL und eMail durch Bilder ersetzen

PsD

Grünschnabel
Hi Leute.
Hab mit der Suchfunktion leider nix passendes gefunden, deswegen mach ich einfach mal nen neuen Thread.

Folgendes Problem:

Ich habe ein Script geschrieben welches email und url addressen falls vorhanden in Bild-Links verwandeln soll. Bei nicht vorhanden sein bzw. eingaben wie "-" oder "nicht vorhanden" z.b. soll dieses auch durch bilder OHNE links ersetzt werden.

Das Script schaut folgendermasen aus:

PHP:
<?php

#script um bei vorhandener email durch bild images/mail.gif bzw bei nocht vorhanden sein durch images/nomail.gif



#wenn email vorhanden UND email im format ([A-Za-z0-9._-]{1,}@[A-Za-z0-9._-]{1,}.[A-Za-z]{2,5})

if (isset($email[$y]) && $email[$y] == "([A-Za-z0-9._-]{1,}@[A-Za-z0-9._-]{1,}.[A-Za-z]{2,5})") {

$email[$$y] = ereg_replace(

"([A-Za-z0-9._-]{1,}@[A-Za-z0-9._-]{1,}.[A-Za-z]{2,5})", "<a

href='mailto:\1'><img src=\"images/mail.gif\"></a>", $email[$y] );

                     }



#wenn email nicht vorhanden bzw sowas drin steht wie "-" oder "nicht vorhanden"

else {

$email[$y] = ereg_replace($email[$y],

"<img src=\"images/nomail.gif\">", $email[$y]);

}

?>





<?php

if (isset($url[$y]) && $url[$y] == "[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]") {

$url[$y] = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",

                     "<a href=\"\0\"><img src=\"images/url.gif\"</a>", $url[$y]);

}



else {

$url[$y] = ereg_replace($url[$y],

"<img src=\"images/nourl.gif\">", $url[$y]);

}



?>

leider hab ich das problem das es IMMER ersetzt wird als wenn die links nicht vorhanden sind....

hoffe es war verständlich...
hier zum anschauen: http://www.kloeten.com/herold/?page=verlage&desc=Unsere Verlage
falls ihr das komplette script sehen wollt dann schreibt es ins forum
 
Hi,

ich habe das Problem folgendermaßen gelöst:

beim Auslesen der bereits vorhanden Einträge entscheide ich einfach, in welchem Feld etwas drinsteht. Wenn der Gast in einem Gästebuch z.B. keine Homepage angegeben hat, wird in die Tabelle nur "http://" geschrieben, weil das der Anfangswert ist. Wenn also nur das drinsteht muss das nicht umgewandelt werden. Sieht dann so aus (hab auch noch Email gemacht):

[...]
if($row->homepage != "http://")
{echo "<a href=$row->homepage target=_blank><img src=$homepage_bild border=0 alt=Homepage></a> ";}

if($row->email != "")
{echo "<a href=mailto:$row->email><img src=$email_bild border=0 alt=Email></a> ";}
[...]

Ich hoffe ich konnte dir weiterhelfen :)
 
Zurück