
Aber ein Nachtrag:
Ich würde schon prüfen, ob es strrpos() überhaupt gibt, sonst setzt substr_replace das Ersatzwort immer an den Anfang des Strings (Pos 0) wenn es den Suchbegriff nicht gibt.
Herzlich willkommen im Archiv vom ABAKUS Online Marketing Forum
Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.
Code: Alles auswählen
if ($url !== false)
// Weitermachen...
Ok, ich geb mich geschlagenSloMo hat geschrieben:Fazit:
Die PREG-Variante ist gut 50 Prozent langsamer!![]()
![]()
Code: Alles auswählen
if ($start===false) throw new Exception('Ungültiger Eingabestring');
Code: Alles auswählen
$url = preg_replace('/\bTest\b/', 'Test2', $url, 1);
Code: Alles auswählen
$url = preg_replace('/\bTest\b/i', 'Test2', $url, 1);
Code: Alles auswählen
<?php
$text = 'Wort1 Wort2 Wort1.Wort1 Wort2 Wort2, Wort1 Wort2-Wort1 Wort1-Wort2 Wort1';
$text = ltrim(preg_replace(
array(
'#(?<= )(wort1)(?= )#i',
'#\b(wort2)\b#i',
), array(
'<a href="http://www.example.com/" target="_blank">\\1</a>',
'<a href="http://www.example.org/" target="_blank">\\1</a>',
), ' ' . $text));
echo $text;
?>
Ich habe ehrlich gesagt noch nie getestet welche Zeichen alle damit abgedeckt werden.A word boundary is a position in the subject string where the current character and the previous character do not both match \w or \W (i.e. one matches \w and the other matches \W), or the start or end of the string if the first or last character matches \w, respectively.
Natürlich sollte man den Delimiter hier wieder auf 1 setzen. Ist nur zum Verständnis jetzt weggelassen worden.Wort1 Wort2 Wort1.Wort1 Wort2 Wort2, Wort1 Wort2-Wort1 Wort1-Wort2 Wort1
Code: Alles auswählen
$suchmuster="#\bTest\b#i";
$url=preg_replace($suchmuster, $ersetzung, $url, 1);
Ne, wie kommste denn darauf...mgutt hat geschrieben:Hier meine Autolinksfunktion, da ich fast glaube, dass Du sowas gerade machen willst