我有一个表,我正在保存正则表达式,后来我用来检测网址。
现在我想要如果我在搜索字段中输入url然后在数据库查询中将获取捕获url的所有记录(正则表达式):
例如在db中我保存了这个表达式
.*\/[a-z0-9]{0,}\.gif\?abc=[0-9]&rnd=[0-9]{1,}.*
现在如果我搜索这个网址
cnzz.mmstat.com/9.gif?abc=1&rnd=162146281
然后它应该自动获取正则表达式检测此URL的记录。
我正在使用MySql和Core PHP
答案 0 :(得分:0)
你的正则表达式中没有任何捕获组。使用此:
.*\/[a-z0-9]{0,}\.gif\?abc=[0-9]&rnd=([0-9]{1,}.*)
因此,这将最后一组数字作为捕获组。您可以在Regex101进行测试。
现在使用preg_match()
,您可以获取该网址的最后id
,并可用于进行计算。
示例代码
<?php
preg_match('.*\/[a-z0-9]{0,}\.gif\?abc=[0-9]&rnd=([0-9]{1,}.*)',
"cnzz.mmstat.com/9.gif?abc=1&rnd=162146281", $matches);
$id = $matches[0];
echo "The id is: {$matches[0]}\n";
?>