sql >> Databasteknik >  >> RDS >> Mysql

MySQL extrahera klartext från html-data eller PHP?

Om ditt innehåll alltid börjar med taggar (etc.)

prova detta:

SELECT * from table  WHERE colmn_name REGEXP  '>[^<]*mytext'; 

Ett annat sätt är att använda strip_tags — Ta bort HTML- och PHP-taggar från en sträng

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

// Allow <p> and <a>
echo strip_tags($text, '<p><a>');
?>

Utmatning av ovanstående kod:

Test paragraph. Other text
<p>Test paragraph.</p> <a href="#fragment">Other text</a>

Varning ::Because strip_tags() does not actually validate the HTML, partial or broken tags can result in the removal of more text/data than expected.

Du bör lägga html-koden i en variabel, låt oss säga $html_input

$html_input= "'<p>text between tag 'p'</p><span>text between 'span'</span>'";
$stripped_html = strip_tags($html_input);

// Now insert it into the table `text`
INSERT INTO `text` VALUES (1, $striped_html);

Rent MYSQL sätt:

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;

mysql> select strip_tags('<span>hel<b>lo <a href="world">wo<>rld</a> <<x>again<.');
+----------------------------------------------------------------------+
| strip_tags('<span>hel<b>lo <a href="world">wo<>rld</a> <<x>again<.') |
+----------------------------------------------------------------------+
| hello world again.                                                   |
+----------------------------------------------------------------------+
1 row in set

Referens:Stackoverflow



  1. Få poster för varje persons minsta datumtid för varje dag

  2. Hjälp till att redigera JSON för att skapa en array istället för en "ordbok"

  3. Hur man säkerhetskopierar MySQL-databaser från kommandoraden i Linux

  4. Windows PSQL kommandorad:finns det ett sätt att tillåta lösenordslös inloggning?