"Text"URL durch URL ersetzen

sd12

Legendäres Mitglied
Hallo

Ich möchte, wie in diesem Forum für ein Scrip von mir, das eine geschriebene URL automatisch durch eine URL ersetzt wird.

wenn ich also eine URL hier schreibe, z.B. http://www.webmasterforum.ch

dann wird diese automatisch mit dem entsprechenden <a href.... ersetzt.

wer hat mir sowas für PHP?
 
Affilium Reste.... ich wills nicht mal mehr genau anschauen, aber es ist da ;-)

CODE
/**
* Newslatter in archiv/newsletter/?newsletter=yyyy-mm-dd
*/
function showNewsletter($nlid) {
[ ...]
$str = $z['body'];
$str = str_replace("<", "<", $str);
$str = str_replace(">", ">", $str);
$pattern = '#(^|[^\"=]{1})(http://|ftp://|mailto:|news:)([^\s<>]+)([\s\n<>]|$)#sm';
$echo = preg_replace($pattern,"\\1<a href=\"\\2\\3\" target=_blank><u>\\2\\3</u></a>\\4",$str)."<br>";
echo nl2br(trim($echo));
[...]
}


Aber ich glaube das hat funktioniert.
 
many thanks

für diejenigen, welche das auch mal brauchen...

das genügt:
CODE $pattern = '#(^|[^\"=]{1})(http://|ftp://|mailto:|news:)([^\s<>]+)([\s\n<>]|$)#sm';
$echo = preg_replace($pattern,"\\1<a href=\"\\2\\3\" target=_blank><u>\\2\\3</u></a>\\4",$str)."<br>";
 
Geben wird es sowas schon...

Ich denke mit JavaScript sollte sich da was machen lassen...

...aber ich kann dir nicht sagen, wie du das machen sollst.
 
Hallo Finn

Es gibt Leute die behaupten, dass es keine dummen Fragen gibt.

Es gibt so etwas für Html nicht, denn Html ist statisch. Wenn Du das in deinen Html Code einbauen möchtest, musst du eine dynamische Scriptsprache verwenden. Zum Beispiel eben Php.

Dazu musst Du wissen ob dein Provider Php unterstützt. Das kannst du einfach machen indem du CODE <?php echo "hallo welt"; ?>
in deine Html Datei fügst und sie auf dem Server aufrufst. Wenn hallo welt dort steht, kann dein Server und wenn <?php... dortsteht, kann dein Server kein Php.

Wenn Du php hast, musst Du den Text in eine Variable kopieren, und dann die obigen 2 Zeilen anwenden.

Ist es nur Text oder ist es der ganze Html Code? Wenn ich den obigen reguläre Ausdruck anschaue, fällt mir auf, dass er nur bedingt mit Html Code umgehen kann.

Wenn es sich nur um Text handelt versuch mal: http://www.webmasterforum.ch/faq/files/too...nk_ersetzer.php

PS Genügen tut sogar das:
CODE $pattern = '#(^|[^\"=]{1})(http://|ftp://|mailto:|news:)([^\s<>]+)([\s\n<>]|$)#sm';
$attr = "target=_blank";
$echo = preg_replace($pattern,"\\1<a href=\"\\2\\3\" $attr>\\2\\3</a>\\4",$str);
 
Also bei mir passiert gar nichts:

CODE
$pattern = '#(^|[^\"=]{1})(http://|ftp://|mailto:|news:)([^\s<>]+)([\s\n<>]|$)#sm';
$echo = preg_replace($pattern,"\\1<a href=\"\\2\\3\" target=_blank><u>\\2\\3</u></a>\\4",$results[text])."<br>";
echo"<p class=\"text\">$echo</p>";




Keine Veränderung im Quelltext

Muss ich das als Funktion definieren? Wie baue ich dann die Funktion in die Textausgabe ein..?
 
Jetzt versteh ich gar nichts mehr. Quelltext? den ich erhalte? ja eben einfach kein link um www.domain.ch drum rum. da gibts eben das href nicht zu sehen. Und das Formular das Du mir angegeben hast? Wozu ist das?
 
Zurück
Oben