在数据库搜索中排除HTML标记

时间:2015-08-09 18:02:29

标签: php html mysql sql

我在数据库中有列(类型:文本),我存储了一些HTML代码。我想搜索该列,但我想忽略标签。例如,如果我搜索'div',我想忽略所有'< div>'或'< div'或'< / 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;';
回声是:

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

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

1 个答案:

答案 0 :(得分:0)

您可以使用mysql regexp,类似于此WHERE名称REGEXP“。 [^&lt;] $ term [^ \&gt;]。”;