Ich habe ein Feld Product_description
in MySQL-Tabelle, die HTML-Tags hat. Ich möchte dieses Feld mit dem Entfernen von HTML-Tags außer br
aktualisieren. Ich weiß, dass ich dies mit strip_tag
tun kann, aber ich verstehe nicht, wie dies für die Tabellendaten zu erreichen ist.Wie HTML-Tags außer <br> aus MySQL-Daten zu entfernen?
Antwort
Um entfernen Alle Tags aber<br>
aus einem Text, können Sie in der Tat strip_tags verwenden:
$var = strip_tags($html, '<br>');
Sehen Sie ein Beispiel here.
Aus dem docs:
Sie können den optionalen zweiten Parameter verwenden, um Tags zu spezifizieren, die gestrippt nicht werden sollen.
Um sie von den persistenten Daten entfernen (nicht mehrfach ausgeführt werden sollten), können Sie ein schwerer Lauf Skript erstellen können einmal verwendet werden und die Werte aktualisieren. Wie folgt aus: (Vielleicht möchten Sie trim verwenden)
$con = new mysqli('localhost', 'username', 'password', 'database_name');
$stmt = $con->query('SELECT * FROM table_name');
while($row = $stmt->fetch_assoc()){
$stmt2 = $con->prepare('UPDATE table_name set Product_description = ? WHERE Product_id = ?');
$tmp = strip_tags($row['Product_description'], '<br>');
$stmt2->bind_param("si", $tmp, $row['Product_id']);
$stmt2->execute();
}
Das Skript wäre für Sie es nur einmal ausgeführt, so ist es (wohl) in Ordnung, wenn es langsam ist ...
Das OP erklärte: * Ich kann dies mit strip_tag tun, aber ich verstehe nicht wie *! Ich denke er braucht den vollen Code !! –
@IsmailRBOUH Entschuldigung, ich verstehe es nicht. Ich zeigte, wie es geht, ein funktionierendes Beispiel und zitierte die Dokumente. Mit den gegebenen Informationen, das ist, was es gibt ... – FirstOne
ja, aber es gibt 15000 Produktbeschreibung in der Tabelle, und ich möchte sie auch dann aktualisieren? – webbed
für nur ein Tag können Sie diese Abfrage tun
UPDATE `TABLE` SET column1 = REPLACE(column1, '<br>', '');
oder Funktion für Streifen wie in diesem Beispiel alle hTML-Tags machen
CREATE FUNCTION `strip_tags`($str text) RETURNS text
BEGIN
DECLARE $start, $end INT DEFAULT 1;
LOOP
SET $start = LOCATE("<", $str, $start);
IF (!$start) THEN RETURN $str; END IF;
SET $end = LOCATE(">", $str, $start);
IF (!$end) THEN SET $end = $start; END IF;
SET $str = INSERT($str, $start, $end - $start + 1, "");
END LOOP;
END;
diese Funktion gefunden from
Funktion unten Code erstellen:
DROP FUNCTION IF EXISTS fnStripTags;
DELIMITER |
CREATE FUNCTION fnStripTags(Dirty varchar(4000))
RETURNS varchar(4000)
DETERMINISTIC
BEGIN
DECLARE iStart, iEnd, iLength int;
WHILE Locate('<', Dirty) > 0 And Locate('>', Dirty, Locate('<', Dirty)) > 0 DO
BEGIN
SET iStart = Locate('<', Dirty), iEnd = Locate('>', Dirty, Locate('<', Dirty));
SET iLength = (iEnd - iStart) + 1;
IF iLength > 0 THEN
BEGIN
SET Dirty = Insert(Dirty, iStart, iLength, '');
END;
END IF;
END;
END WHILE;
RETURN Dirty;
END;
|
DELIMITER ;
Und unter Abfrage ausführen:
SELECT fnStripTags('this <html>is <b>a test</b>, nothing more</html>');
Dies betrifft nicht das Problem der Br-Tags des Benutzers –
- 1. Wie htmltags LabelFor
- 2. LINQ: Wie Element aus IQueryable zu entfernen <T>
- 3. Entfernen Sie HTML-Tags außer <br> oder <br/> Tags mit Javascript
- 4. Konvertieren Bereich <Int> zu Bereich <String.Index>
- 5. wie zu berechnen strlen außer <br> Sonderzeichen?
- 6. Regexp: Wie alles außer einem anderen Regexp zu entfernen?
- 7. PHP: wie spezielle Zeichen zu entfernen (außer etwas) von String
- 8. Entfernen Sie alles außer HTML-Tags aus einem Korpus
- 9. Wie Sonderzeichen aus tinymce Editor entfernen
- 10. Wie bestimmtes Element zu entfernen, aus beobachtbaren <Array<any>>
- 11. Wie alle Array-Elemente außer bestimmten entfernen?
- 12. Alle Elemente außer dem angegebenen Schlüssel aus dem Objekt entfernen?
- 13. Interpunktionszeichen außer Apostroph entfernen Regex
- 14. HtmlTags in Resx in @ Html.ValidationMessageFor angezeigt
- 15. (Zend) das Umhüllen Formularelement mit mehreren htmltags
- 16. Regex alle Sonderzeichen außer Zahlen entfernen?
- 17. Wie Element aus ArrayList zu entfernen?
- 18. Wie Element aus java.util.List zu entfernen?
- 19. Wie Glyphen aus vtk Daten zu entfernen?
- 20. C# regulärer Ausdruck, um alle außer alphabetische und numerische Zeichen aus einer Zeichenfolge zu entfernen?
- 21. Wie Diakritika aus Text entfernen?
- 22. Regex, um alle außer sha256 Notizblock zu entfernen ++
- 23. jQuery entfernen <a> Tag aus bestimmten Unterklasse
- 24. Entfernen Sie alle Zeichen außer Zahlen
- 25. Conda alle Umgebungen (außer root) entfernen
- 26. Wie aus LINQ-Ergebnissen zu entfernen, passende Elemente aus Array
- 27. Wie Hover-Effekt von <md-button> zu entfernen?
- 28. wie entfernen ‚\‘ aus string
- 29. Wie Sonderzeichen (außer <> & entkommen '") in golang Vorlagen?
- 30. Wie würde ich alles außer String in Perl entfernen?
Sie php 'strip_tags verwenden können ($ text, '
')' –
Ja, aber es gibt 15000 Produktbeschreibung in der Tabelle und ich möchte sie dann auch aktualisieren? – webbed