Link im Text suchen und ersetzen

Luzie

Erfahrenes Mitglied
Hallo,

ich möchte gerne einen einfachen Link im Text mit html umschreiben, damit er anklickbar wird.

Ich habe jetzt eine Stunde hier im Forum gesucht und einige Beispiele gefunden. Die meisten bezogen sich aber auf das Ersetzen von UBB-Code.

Folgendes habe ich bebastelt. Funktioniert natürlich nicht. Leider weiss ich auch nicht, ob man den Suchstring im Ersatz auch mit $1 kennzeichnet.

Was habe ich denn falsch gemacht?

PHP:
<?php
$string = "Text mit Link h t t p:// w w w.test.de link link link";
function parseURL($out) {
 $urlsearch="^(http|https|ftp)\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9\-\._\?\,\'/\\\+&%\$#\=~])*$";
 $urlreplace="<a href=\"$1\">$1</a>";
 $out = eregi_replace($urlsearch, $urlreplace, $out);
 return $out;
}
echo parseURL($string);
?>

edit:
Leerzeichen zwischen h t t p gesetzt.
 
Zuletzt bearbeitet:
versuchs einfach ma mit
PHP:
$string=ereg_replace("h t t p","http",$string);  //oder $string=str_replace("h t t p ","http",$string); dann müsste es auch klappen. 
 echo "<a href=\"$string\">$string</a>";

PHP:
<?php
$string = "Text mit Link h t t p:// w w w.test.de link link link";
function parseURL($out) {
 $urlsearch="^(http|https|ftp)\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9\-\._\?\,\'/\\\+&%\$#\=~])*$";
 $urlreplace="<a href=\"$1\">$1</a>";
 $out = eregi_replace($urlsearch, $urlreplace, $out);
 return $out;
}
echo parseURL($string);
?>

edit:
Leerzeichen zwischen h t t p gesetzt.
 
Hi

nee, es geht mir nicht um das Replacen der Leerzeichen zwischen http, die habe ich nur dazwischengesetzt, weil der Forumcode mir aus der URL in der variablen $string einen Link baut.

Ich möchte nur einfach, dass eine URL im text mittels RegExp erkannt und entsprechend als Link anklickbar gemacht wird, sprich

ersetze

http://www.text.de

durch

<a href="http://www.text.de">http://www.text.de</a>
 
wie iss im endeffekt ja egal

trotzdem mit str_replace()

und zwar

PHP:
$string="http://www.text.de";
$link=str_replace($string,"<a href=\"$string\">$string</a>",$string);
echo $link;

sollest dann vielleicht nur gescheitere Vars nehmen

GreetZ Acidone
 
Hi AcidOne,

gut, ich denke, ich will nochmal weiter sehen, ob ich irgendwo ein Tut finde.

Es geht mir um das Replacen von bestimmten Mustern, die ich mit RegExp im Text finden kann und dann ersetze. In diesem Falle das Pattern-Muster, welches eine URL erkennt.

Danke Dir.
 
Zurück