我想创建一个函数来验证CMS中可能的url模式。可能的模式:
9-naberanie-cistej-hmoty
demonize-p18
maximizing-your-prohormone-cycle-34
链接模式
链接模式
链接模式
是否可以通过正则表达式验证它?我正在考虑爆炸这些东西,但是如果有正则表达式可以采取更多步骤,我可以使用它会很棒。我对regexp不熟悉所以感谢您的帮助
代码:
$category = "9-naberanie-cistej-hmoty";
preg_match("([0-9]+)-([A-Za-z-]+)", $category);
当我运行此代码时,我得到了
消息:preg_match():未知修饰符' - '
答案 0 :(得分:1)
好的,在你开始考虑你的问题后,你自己给了一个很好的答案!
我只做了一些小修改。不要回答你的问题,你要说明,但是要指出你应该通过添加前面的^
和一个尾随的$
来锚定你的表达到主题的开头和结尾......
关闭php标签很少是个好主意......
<?php
$category = "9-naberanie-cistej-hmoty";
$product = "demonize-p18";
$article = "maximizing-your-prohormone-cycle-34";
preg_match('/^([0-9]+)-([A-Za-z-]+)$/', $category, $matches);
preg_match('/^([A-Za-z-]+)-p([0-9]+)$/', $product, $matches);
preg_match('/^([A-Za-z-]+)-([0-9]+)$/', $article, $matches);
答案 1 :(得分:0)
非常感谢arkascha我的答案是:)
以下是代码:
<?php
$category = "9-naberanie-cistej-hmoty";
$product = "demonize-p18";
$article = "maximizing-your-prohormone-cycle-34";
preg_match("/([0-9]+)-([A-Za-z-]+)/", $category, $matches);
preg_match("/([A-Za-z-]+)-p([0-9]+)/", $product, $matches);
preg_match("/([A-Za-z-]+)-([0-9]+)/", $article, $matches);
?>