Ich habe die folgende Zeichenfolge:PHP Regex Hilfe für Hashtags
$str = '#hello how are #you and #you and #you';
Ich möchte einige html um solche, die den Hash-Tag vor ihnen haben wickeln, für exampe:
echo preg_replace("/#([A-Za-z0-9_]+)(?=)/", "<a href='http://url.com/$1'>$0</a>", $str);
welche folgende Ausgabe:
#hello wie sind #you und #you und #you
Beachten Sie, dass jeder URL-Link nicht das Hash-Tag in der Verknüpfung hat.
Das ist jedoch mein Problem, weil am Ende der letzten # kein Platz ist, da es nicht mit der Regex übereinstimmt und natürlich nicht enthalten ist. Ich bin mir nicht sicher, was ich wirklich tun soll, da einige Leerzeichen haben können und andere nicht, aber ich möchte den Raum nicht in die Ausgabe einschließen (daher das (? =)), Aber ich weiß nicht, was ich sonst noch kann tun können.
Jede Hilfe würde sehr geschätzt werden.
Vielen Dank im Voraus
Wow, danke für deine schnelle und sehr nette Antwort. Ich habe eine weitere Änderung daran vorgenommen, um den Leerraum in den zurückgegebenen URLs nicht einzuschließen, also lautet die letzte Regex: /@ ([A-Za-z0-9 _] +) (? = \ S | \ Z)/ Perfekt, vielen Dank ennuikiller. Kann ich Ihnen etwas als Geste des Dankes geben? –
@jamie deine Wertschätzung ist mehr als genug Geste! Vielleicht wirst du eine meiner Fragen nicht rechtzeitig beantworten! – ennuikiller
ich meinte "nächste" Zeit natürlich! – ennuikiller