php - 在数据库搜索中排除 HTML 标签

标签 php html mysql sql

我在数据库中有一个列(类型:文本),我在其中存储一些 HTML 代码。我想搜索该列,但我想忽略标签。例如,如果我搜索“div”,我想忽略所有“

”或“”。

这是我的 where 子句的一部分:

$tag1 = '<'.$term;
$tag2 = '</'.$term.'>';
$where_uk = " and s.html like '%". $term ."%' and not ( s.html like '$tag1' and  s.html like '$tag2') ";

但是当我回显它时,我得到:

and s.html like '%term%' and not ( s.html like '') 

我做错了什么? 谢谢

编辑: 我已经解决了

$tag1 = '&lt;'.$term.'%';
$tag2 = '&lt;/'.$term.'&gt;';

echo 是:

and s.html like '%div%' and not ( s.html like '<div%' and s.html like '</div>')

你能告诉我这是忽略标签的正确方法吗?

最佳答案

您可以使用 mysql 正则表达式,就像这样 WHERE name REGEXP ".[^<]$term[^\>].";

关于php - 在数据库搜索中排除 HTML 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31907238/

相关文章:

javascript - 根据我的操作系统时间格式显示时间

php - 使用我的 PHP 服务将 AngularJS 连接到 mysql?

php - mysqli 日期时间加 3 分钟

php - 如何跳过 WordPress 中的第一篇文章?

php - 匹配带星号的字符串

javascript - 如何防止在头部从服务器加载我的真实图像时出现损坏的图像

php - 将数据从上传的 CSV 文件返回到 javascript 的最佳方法是什么?

javascript - 默认情况下隐藏 iframe

mysql - 如何复制 SQL 数据库表中的所有行并更改其中一列中的数据?

java - 无法连接到在亚马逊ec2实例上运行的mysql