Need help with regex

时间:2020-05-11 作者:Joe Lipps

我有以下定义来添加查询变量:

add_filter( \'query_vars\', \'add_reg_query_vars\', 10, 1 );
function add_reg_query_vars($vars)
{   
    $vars[] = \'seminar\'; //
    return $vars;
}
此定义用于添加重写规则:

add_rewrite_rule(
            \'^seminare/([a-zA-Z0-9]+?)/([^/]*)/?$\',
            \'index.php?pagename=seminare/$matches[1]&seminar=$matches[2]\',
            \'top\'
            );
像这样,它工作得很好,像/seminare/mysite/123/这样的链接是匹配的,但因为我在同一页上有“seminare”一个分页,我需要排除“page”一词,像seminare/page/2这样的链接与上面的正则表达式不匹配。

不能让它工作,老实说,我对regex的使用不是很有经验。尝试了几个表达式,当我使用例如:

^seminare/(?!page).+?/([^/]*)/?$

or

^seminare/(?!page)([a-zA-Z0-9]+?)/([^/]*)/?$
它在注册测试仪中匹配,但在wordpress中不起作用(使用monkeyman重写分析器测试)。像seminare/page/2这样的链接不再匹配了,这很好,但是像seminare/mysite/123这样的链接也不再匹配了。

如果能在这方面有所帮助,我们都会很高兴的!!!!

1 个回复
SO网友:Joe Lipps

这对我来说是不可理解的,但第二个定义现在起作用了。不知道,为什么它以前不起作用,但我想,我在某个地方犯了一个小错误。对不起,我的帖子没用;)

相关推荐

从帖子内容中提取信息(使用regex?)

在保存帖子之前,我正在尝试替换内容中的一些自定义字符串。我得到了$data[“post\\u content”],其中包括像%replaceContent:{type}这样的字符串。现在我需要提取该字符串,读取{type},然后根据{type}的内部内容替换该字符串。我想这最好用regex来完成,不幸的是我真的不知道该怎么做。想法?