如何从mysql数据中删除除了<br>的html标签?

web*_*bed 1 html php mysql tags

Product_description在mysql表中有一个字段,它有html标签.我想删除html标签更新此字段除外br.我知道我可以这样做,strip_tag但我不明白如何为表数据完成此操作.

Fir*_*One 6

要从文本中删除所有标记 <br>,您确实可以使用strip_tags:

$var = strip_tags($html, '<br>');
Run Code Online (Sandbox Code Playgroud)

在这里查看示例.

来自文档:

您可以使用可选的第二个参数来指定不应剥离的标记.



要从持久化数据中删除它们(不打算多次运行),您可以创建一个繁重的运行脚本以便使用一次并更新值.像这样:( 你可能也想使用装饰)

$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();
}
Run Code Online (Sandbox Code Playgroud)

那个脚本只能让你运行一次,所以如果它很慢的话,它可以说是好的......