我发现以下代码从 php var 中删除了除字母和数字之外的所有内容,完美!
$string = "remove ever^&thing but *&^*&%£ letters & numbers*&^*";
$cleansedstring = preg_replace('#\W#', '', $string);
echo $cleansedstring;
但我想使用相同的规则查询 mysql 中的列。目的是从等式中删除所有与号、撇号、连字符等。
现在我使用一些难看的 REPLACE 语句!
AND Replace(Replace(Replace(Replace(Replace(MYColumn, '&', ''), '-', ''), ' ', ''), '(', ''), ')', '') =
我想要一个仅查看数字和字母的防弹查询!
:)
编辑:我想我应该进一步解释我的问题,也许你们中的一个人可以提出其他建议......
我通过提取长公司名称并清理它们以获得对 seo 友好的 URL,在我的网站上生成链接。所以说我们有“比尔和本的花盆/花园服务”,我最终到他们页面的 URL 看起来像 /bill-bens-flower-pot-garden-service.htm
该 URL 是一个重写的 URL,因此实际页面类似于 company.php?name=bill-bens-flower-pot-garden-service
我需要获取“名称”并查询数据库以返回他们的公司详细信息。但是得到:
比尔本斯花盆花园服务
返回以下详细信息:
比尔和本的花盆/花园服务
似乎并不总是防弹的。
感觉我的代码在我到处进行的替换中有点混乱。我的理论是去掉所有非字母和数字数据并以这种方式比较字符串:
WHERE Company = 'billbensflowerpotgardenservice' - 但我似乎无法在字段名称本身上这样做?
有什么建议么!