微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MySQL与PHP的preg_replace是否等效?

我有一个MySQL中的字段匹配的字段,我以为我可以使用正则表达式,但是看来MysqL不具备执行此工作所需的功能.这是场景:

我在PHP中有一个名为$url的变量.假设此变量设置为字符串“ / article / my-article / page / 2”.我也有一个MysqL表中的URL,我想从中提取内容.但是,存储在我的表中的URL包含通配符.

以前,我已经进行了此设置,以便存储在表中的值看起来像这样:“ / article /%/ page /%”.

使用该配置,我可以运行:

SELECT * FROM urls WHERE '$url' LIKE url

并且这将匹配,这是所需的功能.

我现在想做的是允许使用更高级的通配符,这样我的MysqL数据可以不是“ / article /%/ page /%”,而是“ / article / {{slug}} / page / {{ page_no}}”.

我想使用相同的$url输入创建一个将与此数据匹配的SQL查询. LIKE不再是正确的比较,因为我没有使用内置的“%”通配符,而是使用{{.*}}.任何想法如何做到这一点?

解决方法:

一个用户定义函数库,可在MysqL中为您提供preg_replace:
http://www.mysqludf.org/lib_mysqludf_preg/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐