您好,我需要一点帮助。

下面是对现有的preg_match代码:

preg_match("/(\/)([0-9]+)(\/?)$/", $_SERVER["REQUEST_URI"], $m);

其中确实的检测在下面的URI字符串的post_id的工作:

http://www.example.com/health-and-fitness-tips/999/

相信应该足够背景

我改变999,所述post_id,到how-do-I-lose-10kg-in-12-weeks', thepost_title`,并需要改变正则表达式pre_match以检测新的字符串。

我首先想到的是只加[A-Z] - 到进行以下的正则表达式正则表达式的结尾:

"/(\/)([0-9][a-z]/-+)(\/?)$/"

有可能这个简单的?如果不是,有什么不对以上?

有帮助吗?

解决方案

不太:([0-9][a-z]/-+)是“一个号码,然后按字母,随后在至少一个破折号”

您想([-0-9a-z]+)

其他提示

我只想用\w

preg_match('!/([-\w]+)/?$!', $_SERVER['REQUEST_URI'], $m);

字符类或字符集

  

\w代表 “字字符”,   通常[A-Za-z0-9_]。注意   包含下划线和   位数。

\w代表字,可以是字母二者上壳体和下壳体A到Z和A到Z,数字0〜9或_。这相当于[A-Za-z0-9_]。您可以在在线测试仪这里测试。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top