我在数据库中有一个列(类型:文本),我在其中存储一些 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 = '<'.$term.'%';
$tag2 = '</'.$term.'>';
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/