Entfernen Sie alle HTML-Tags aus dem PHP-String

Lesezeit: 3 Minuten

Entfernen Sie alle HTML Tags aus dem PHP String
Jimbeeer

Ich möchte die ersten 110 Zeichen eines Datenbankeintrags anzeigen. Bisher ganz einfach:

<?php echo substr($row_get_Business['business_description'],0,110) . "..."; ?>

Aber der obige Eintrag enthält HTML-Code, der vom Client eingegeben wurde. Also zeigt es an:

<p class="Body1"><strong><span style="text-decoration: underline;">Ref no:</span></strong> 30001<strong></stro...

Offensichtlich nicht gut.

Ich möchte nur den gesamten HTML-Code entfernen, also muss ich alles zwischen < und > aus dem DB-Eintrag entfernen und DANN die ersten 100 Zeichen anzeigen.

Irgendwelche Ideen jemand?

  • Probeneingabe und -ausgabe………

    – Venkata Krishna

    4. Februar 2013 um 9:48 Uhr

verwenden strip_tags

$text="<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>";
echo strip_tags($text);   //output Test paragraph. Other text

<?php echo substr(strip_tags($row_get_Business['business_description']),0,110) . "..."; ?>

  • Warum nicht funktioniert? 🙁 Ich verwende: data = htmlentities($description2,ENT_QUOTES, ‘UTF-8’); , strip_tags($data) und funktioniert nicht

    Benutzer3402040

    3. März 2016 um 8:43 Uhr


  • Würde dies die Seite auch vor xss-Skriptangriffen schützen?

    – thekucays

    26. September 2016 um 7:01 Uhr


  • @delive Warum um alles in der Welt würdest du rennen htmlentities und dann strip_tags? Das verfehlt völlig den Zweck.

    – Kapitän Hypertext

    18. November 2016 um 16:37 Uhr

  • Bestimmte Arten von JavaScript werden möglicherweise nicht blockiert. Erwarten Sie von dieser Funktion keine Wunder.

    – PJ Brunet

    12. Dezember 2016 um 14:28 Uhr

Entfernen Sie alle HTML Tags aus dem PHP String
EM-Kreationen

Verwenden Sie PHPs Funktion strip_tags().

Zum Beispiel:

$businessDesc = strip_tags($row_get_Business['business_description']);
$businessDesc = substr($businessDesc, 0, 110);


print($businessDesc);

  • Dies nimmt zuerst die 100 Zeichen und entfernt danach die HTML-Tags. Aber ich denke, OP möchte zuerst HTML-Tags entfernen und danach 100 Zeichen substr.

    – Yogesh Suthar

    4. Februar 2013 um 9:52 Uhr


  • @YogeshSuthar Sehr wahr, ich werde die Antwort jetzt bearbeiten, danke, dass du darauf hingewiesen hast. – Getan

    – EM-Kreationen

    4. Februar 2013 um 9:53 Uhr


1647276846 12 Entfernen Sie alle HTML Tags aus dem PHP String
Muhammad Shahzad

Entfernen Sie alle HTML-Tags aus dem PHP-String mit Inhalt!

Angenommen, Sie haben eine Zeichenfolge, die ein Anker-Tag enthält, und Sie möchten dieses Tag mit Inhalt entfernen, dann ist diese Methode hilfreich.

$srting = '<a title="" href="/index.html"><b>Some Text</b></a>
Lorem Ipsum is simply dummy text of the printing and typesetting industry.';

echo strip_tags_content($srting);

function strip_tags_content($text) {

    return preg_replace('@<(\w+)\b.*?>.*?</\1>@si', '', $text);
    
 }

Ausgabe:

Lorem Ipsum ist einfach Blindtext der Druck- und Satzindustrie.

  • Schon fast. Abschnitt 12.1.2.2.4 der WhatWG sagt </script > ist ein gültiges End-Tag, wird aber nicht von der Regex behandelt. Sollte sein </\1\s*> oder so etwas.

    – Bischof

    26. Februar 2018 um 20:25 Uhr


Entfernen Sie alle HTML Tags aus dem PHP String
Maxim Schustin

Verwenden Sie diese Regex: /<[^<]+?>/g

$val = preg_replace('/<[^<]+?>/g', ' ', $row_get_Business['business_description']);

$businessDesc = substr(val,0,110);

aus Ihrem Beispiel sollte bleiben: Ref no: 30001

Für mich ist das die beste Lösung.

function strip_tags_content($string) { 
    // ----- remove HTML TAGs ----- 
    $string = preg_replace ('/<[^>]*>/', ' ', $string); 
    // ----- remove control characters ----- 
    $string = str_replace("\r", '', $string);
    $string = str_replace("\n", ' ', $string);
    $string = str_replace("\t", ' ', $string);
    // ----- remove multiple spaces ----- 
    $string = trim(preg_replace('/ {2,}/', ' ', $string));
    return $string; 

}

regularer Ausdruck fur franzosische Zeichen
gutaussehender Dev

Entfernen Sie die Zeichenfolge von HTML-Tags:

<?php
echo strip_tags("Hello <b>world!</b>");
?>

Entfernen Sie die Zeichenfolge aus HTML-Tags, lassen Sie jedoch die Verwendung von Tags zu:

<?php
         echo strip_tags("Hello <b><i>world!</i></b>","<i>");
?>

In Laravel können Sie die folgende Syntax verwenden

 @php
   $description='<p>Rolling coverage</p><ul><li><a href="http://xys.com">Brexit deal: May admits she would have </a><br></li></ul></p>'
 @endphp
 {{  strip_tags($description)}}

1002440cookie-checkEntfernen Sie alle HTML-Tags aus dem PHP-String

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy