我从URL查询字符串拉取标签搜索查询;例如,http://website.com/?tag=hellothere
会抢夺标记为“hellothere”的条目。为了避免各种问题,并保持URL看起来干净,搜索包含的唯一标点符号是+(替换空格)和 - (本身)。问题来了,因为有标签包含撇号,问号或感叹号 - ' ? !
。忽略正在搜索的内容中的标点符号
在数据库中的标签栏的格式,像这样:"tv, squirrels, paul's junk, clumps"
所以,如果有人使用url http://website.com/?tag=pauls+junk
,我怎么能构建一个查询,从表yourtable
其列yourtags
包含条目返回的行"paul's junk"
?
为了澄清,我想避免存储两个版本,因为在这种情况下它会相当多余。我们将使用的唯一非字母数字字符是'!?-
。只有mods会添加这些标签。除此之外,不会有任何标点符号或特殊字符。
我想避免urlencode'ing特殊字符,以保持搜索字符串看起来“漂亮”。用户不会输入搜索框,他们会点击标签链接。
为什么不'urlencode'搜索字符串? – Czechnology 2011-03-06 17:19:51
@middaparka @Will @ cusimar9我在考虑存储两个版本,而且这仍然是最佳选择。我希望会有一些不需要相当多余的额外列,因为我们将要使用的唯一非字母数字字符是'!? - 。只有mods会添加这些标签。除了那四个之外,不会有任何标点符号或特殊字符。 – grilldos 2011-03-06 17:27:52