Heim  >  Artikel  >  Backend-Entwicklung  >  So entfernen Sie HTML und erhalten einfachen Text in PHP

So entfernen Sie HTML und erhalten einfachen Text in PHP

PHPz
PHPzOriginal
2023-04-10 09:45:301498Durchsuche

Mit der kontinuierlichen Entwicklung des Internets und der Verbesserung der Benutzeranforderungen müssen immer mehr Websites Textbearbeitungsfunktionen bereitstellen, damit Benutzer Inhalte auf der Seite hinzufügen, bearbeiten oder löschen können. Wenn diese Inhalte in der Datenbank gespeichert oder auf der Seite angezeigt werden, müssen sie normalerweise einer Verarbeitung unterzogen werden, um sie in ein Nur-Text-Format umzuwandeln.

Für PHP-Programmierer ist das Entfernen von HTML, also das Konvertieren eines Rich-Text-Stücks in ein Nur-Text-Format, eine wichtige Fähigkeit. Wie kann man also mit PHP HTML entfernen und einfachen Text erhalten? Der folgende Artikel stellt einige praktische Methoden zu diesem Thema vor.

Verwenden Sie die Funktion „strip_tags()“, um HTML-Tags zu entfernen.

Es gibt eine Funktion „strip_tags()“ in PHP, die HTML-Tags entfernen und eine Zeichenfolge im Nur-Text-Format erhalten kann. Das Funktionsformat ist wie folgt:

string strip_tags ( string $str [, string $allowable_tags ] )

Der erste Parameter ist die zu verarbeitende Zeichenfolge und der zweite Parameter ist der Name des Tag-Elements, das beibehalten werden darf. Wenn der zweite Parameter nicht angegeben wird, werden alle HTML-Tags entfernt.

Zum Beispiel entfernt der folgende Code alle Tag-Elemente im HTML-Text und gibt das Ergebnis aus:

<?php
    $html = &#39;<div><p>Hello, world!</p></div>';
    $text = strip_tags($html);
    echo $text; // 输出结果:Hello, world!
?>

Die obige Methode kann erweitert werden, um die Beibehaltung bestimmter Tag-Elemente zu unterstützen.

<?php
    $html = &#39;<div><p>Hello, world!</p><a href="www.google.com">Google</a></div>';
    $text = strip_tags($html, '<p>');
    echo $text; // 输出结果:<p>Hello, world!</p>
?>

Verwenden Sie reguläre Ausdrücke, um HTML-Tags zu entfernen

Neben der Funktion „strip_tags()“ ist auch die Verwendung regulärer Ausdrücke eine gängige Methode. Reguläre Ausdrücke können HTML-Tags abgleichen und entfernen. Das Folgende ist ein Beispielcode:

<?php
    $html = &#39;<div><p>Hello, world!</p></div>';
    $text = preg_replace('/<[^>]*>/', '', $html);
    echo $text; // 输出结果:Hello, world!
?>

Verwenden Sie die Funktion preg_replace() und den regulären Ausdruck „/<1*>/“, um die HTML-Tags zu entfernen. Dieser reguläre Ausdruck kann mit jeder Zeichenfolge übereinstimmen, die mit „<“ beginnt und mit „>“ endet. Das „^>“ in Klammern bedeutet, dass alle Zeichen außer „>“ übereinstimmen.

Erzielen Sie eine ausgefeiltere Entfernung von HTML-Tags

Obwohl die beiden oben genannten Methoden einfach und effektiv sind, werden sie HTML-Tags vollständig entfernen, einschließlich einiger Formatierungszeichen wie Fett, Kursiv, Unterstrichen usw. Was ist, wenn Sie diese Tags nicht vollständig entfernen, sondern nur ihren Stil beibehalten möchten?

Zu diesem Zeitpunkt können wir die PHP-DOM-Erweiterung verwenden, um eine anspruchsvollere HTML-Tag-Entfernung zu erreichen. Die PHP-DOM-Erweiterung ist eine leistungsstarke und flexible Erweiterung, die HTML- und XML-Dokumente analysieren und diese dann bearbeiten kann, z. B. durch Abfragen, Einfügen, Löschen von Knoten usw.

Das Folgende ist ein Beispielcode, der die PHP-DOM-Erweiterung verwendet, um HTML-Tags zu entfernen:

<?php
    $html = &#39;<div><p><strong>Hello, </strong><i>world</i>!</p></div>';
    
    $dom = new DOMDocument();
    $dom->loadHTML($html);

    $body = $dom->getElementsByTagName('body')->item(0);
    $text = $body->textContent;

    echo $text; // 输出结果:Hello, world!
?>

Erstellen Sie zunächst ein DOMDocument-Objekt und übergeben Sie dann die zu verarbeitende HTML-Zeichenfolge an seine Methode „loadHTML()“. Verwenden Sie als Nächstes die Methode getElementsByTagName('body')->item(0), um das Body-Element in HTML abzurufen, und verwenden Sie dann das textContent-Attribut, um den gesamten Klartextinhalt unter dem Body-Element abzurufen. Abschließend werden die Ergebnisse auf dem Bildschirm ausgegeben.

Zusammenfassung

In diesem Artikel werden drei PHP-basierte Methoden vorgestellt, um HTML-Tags zu entfernen und einfachen Text zu erhalten. Die erste ist eine einfache Funktion „strip_tags()“, mit der die einfachste HTML-Tag-Entfernung erreicht werden kann. Die zweite Methode nutzt die Vorteile regulärer Ausdrücke, um HTML-Tags abzugleichen und zu entfernen. Die dritte Methode verwendet die PHP-DOM-Erweiterung, die den HTML-Code vollständig steuern kann System und eine genauere Steuerung der Ausgabeergebnisse. Jeder kann es flexibel nach seinen Bedürfnissen nutzen.


  1. >

Das obige ist der detaillierte Inhalt vonSo entfernen Sie HTML und erhalten einfachen Text in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn