我有一堆用PHP解析的URL,如下所示:
www.example.com/shopping shopping.example.com example.com/pages/shopping
大约100个不同的页面(不只是购物 - 有些是联系,有些是方向等)。我有一组种子数据,告诉我在哪里查找页面名称,如下所示:
www.example.com/[pagename] [pagename].example.com example.com/users/[pagename]
我的问题是,如何使用种子数据从URL获取页面名称,告诉我它在哪里?
因此,如果我使用网址www.example.com/shopping
,我想将其与www.example.com/[pagename]
进行比较,然后从字符串中提取“shop”的页面名称。
答案 0 :(得分:1)
将[xyz]
替换为第二个列表中的(.+)
,您可以使用正则表达式来匹配并从第一个列表中提取值。您还需要在行的其余部分中转义.
之类的字符,以便它们不会被解释为特殊字符。
要进行更换,请使用:
preg_replace('/\[[^]]++\]/', '(.+)', $target)
其中++
是possessive quantifier。