HTML-Sonderzeichen aus einem String entfernen
Beim Erstellen eines RSS-Feeds ist es wichtig, HTML-Tags und Sonderzeichen zu entfernen, um die Kompatibilität sicherzustellen. Während strip_tags() Tags effektiv entfernt, bleiben häufig HTML-Sonderzeichen zurück.
Um dieses Problem zu beheben, gibt es zwei mögliche Lösungen:
html_entity_decode():
Diese Funktion dekodiert HTML-Entitäten und ersetzt sie durch die entsprechenden Zeichen. Zum Beispiel würde in ein Leerzeichen umgewandelt werden.
preg_replace():
Mit regulären Ausdrücken können Sie mit preg_replace() bestimmte Zeichenfolgen entfernen. Das folgende Muster gleicht HTML-Sonderzeichen ab und entfernt sie:
/&#?[a-z0-9] ;/i
Dieses Muster sucht nach Sequenzen, die mit beginnen, gefolgt von eine Kombination aus Buchstaben und Zahlen, die mit einem Semikolon endet.
So implementieren Sie diese Lösung:
$content = preg_replace("/&#?[a-z0-9] ;/i", "", $content);
Jaccos Alternative:
Eine weitere Option , wie von Jacco im Kommentarbereich vorgeschlagen, besteht darin, Folgendes zu verwenden Muster:
/&#?[a-z0-9]{2,8};/i
Dieses Muster beschränkt die Ersetzung auf Sequenzen innerhalb eines bestimmten Zeichenbereichs und verringert so das Risiko des versehentlichen Ersetzens uncodierter & Zeichen in Sätzen.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3