URLs anklickbar machen...

Jost

Mitglied
Hi!

Also ich hab folgendes vor...

<?
echo"http:/www.test.de";
?>

so.. gibt es ein script was mir alle URLs auf einer seite automatisch klickbar macht.. also ein <a href> ?

So wäre das ja ein ereg_replace aber man kann ja auch www.test.de oder nur test.de eingeben.. hinzu kommt das mann auch andere vom user eingegebene URLs bedenken muss... zum beispiel test.de/index.html oder www.test.de/user=testuser ... was mache ich dann ?

im prinzip genau das gleich wie hier im forum "Links automatisch umwandeln" ...
 
PHP:
<?
function links($text) { 
$p[] = '"(( |^)((ftp|http|https){1}://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)"i'; 
$r[] = '<a href="\1" target="_blank">\\1</a>'; 
$p[] = '"( |^)(www.[-a-zA-Z0-9@:%_\+.~#?&//=]+)"i'; 
$r[] = '\\1<a href="http://\2" target="_blank">\\2</a>'; 
$p[] = '"([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3})"i'; 
$r[] = '<a href="mailto:\1">\\1</a>'; 
$text = preg_replace($p, $r, $text); 
return $text; 
}
 
echo links("http://www.test.de, www.test.de, http://test.de, http://www.test.de/user=testuser");
?>

Das http:// muss immer vorhanden sein, sonst wäre es ja auch keine gültige url.
 
Zuletzt bearbeitet:
danke für die flotte antwort.. aber was ist den hierbei...
echo links("test.de/index.html");

da geht es dann schon nicht mehr...
 
Jost hat gesagt.:
danke für die flotte antwort.. aber was ist den hierbei...
echo links("test.de/index.html");

da geht es dann schon nicht mehr...

Das ist dann aber auch keine gültige url. Eine gültige url muss immer ein http:// am Anfang haben.

mfg
forsterm
 
wo kannst du das eingeben?
In der Browser-Adresszeile? Logisch...dort erwartet der Browser auch ein URL und nichts anderes.

Ums kurz zu machen...du musst ganz genau wissen, was alles wie umgewandelt werden soll, und was das Wichtigste dabei ist: wie kann man es unterscheiden von den Sachen, die nicht umgewandelt werden sollen.

Das solltest du vor weiteren Nachfragen detailliert erforschen... da PHP diese Informationen benötigt, im Gegensatz zur Browser-Adresszeile.
Die Funktion [phpf]preg_psi[/phpf] ist erst für PHP-Version8 in Planung :-)
 
Zurück