URLs in einem String mit PHP verknüpfen
Beim Umgang mit Strings, die URLs enthalten, ist es oft wünschenswert, diese URLs in anklickbare Hyperlinks umzuwandeln . Dies kann durch die umfangreichen String-Manipulationsfunktionen von PHP erreicht werden.
Betrachten Sie die folgende Zeichenfolge:
"Look on http://www.google.com".
Das Ziel besteht darin, diese Zeichenfolge umzuwandeln in:
"Look on <a href="http://www.google.com">http://www.google.com</a>"
Lösung
PHP bietet verschiedene Methoden zum Suchen und Ersetzen von Mustern innerhalb von Zeichenfolgen. Um URLs in einer Zeichenfolge zu verknüpfen, können wir den folgenden Code verwenden:
<code class="php">$string = "Look on http://www.google.com"; $string = preg_replace( "~[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]~", "<a href=\"\0\">\0</a>", $string );</code>
Dieser Code verwendet reguläre Ausdrücke, um gültige URLs innerhalb der Zeichenfolge zu identifizieren. Das Muster ~[[:alpha:]] ://[^<>[:space:]] [[:alnum:]/]~ sucht nach Zeichenfolgen, die mit dem Protokoll „http“ beginnen, gefolgt von einer Domäne Name oder IP-Adresse und endet mit einem Schrägstrich oder einem anderen alphanumerischen Zeichen.
Sobald eine URL gefunden wurde, wird sie durch eine Zeichenfolge ersetzt, die ein HTML-Ankertag () mit der URL als URL enthält href-Attribut. Die \0-Sequenz wird als Platzhalter für die übereinstimmende URL verwendet.
Kompatibilitätshinweis
Der bereitgestellte Code unterstützt PHP-Versionen 5.3 und höher. Ersetzen Sie für Versionen unter 5.3 preg_replace durch ereg_replace.
Das obige ist der detaillierte Inhalt vonWie verknüpfe ich URLs in einem String mit PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!