【发布时间】:2015-08-10 02:21:23
【问题描述】:
我在数据库中有列(类型:文本),其中存储了一些 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.'>';
回声是:
and s.html like '%div%' and not ( s.html like '<div%' and s.html like '</div>')
你能告诉我这是忽略标签的正确方法吗?
【问题讨论】:
-
您做得对,但是当您回显并在浏览器中检查时,它正在尝试呈现 HTML 元素。尝试任何 CLI 来输出您的 PHP 或检查 Firebug 响应选项卡以确保。
-
我看到了,但我不想写程序...我还是解决了,谢谢
-
您的解决方案可能会在屏幕上显示正确的查询,但不一定与数据库中的内容匹配。正如@Joy 指出的那样,尝试从命令行查看实际输出。