我有这个链接: http://mysite/myfolder/it/my-keywords.html并希望将/ it /替换为/ es /(2个字母的国家/地区代码)
我可以explode()
使用“/”分隔符,但想了解preg_replace是否会更好。
尝试:
preg_replace("/\/([a-z]{2})/\/", $link, $country);
修改的 回答:
preg_replace("/\/[a-z]{2}\//", "/$country/", $link);
答案 0 :(得分:1)
preg_replace就像一把瑞士军刀。 preg而不是ereg意味着它使用perl兼容的正则表达式。它匹配第一个参数(正则表达式),替换为第三个参数(字符串)中的第二个参数(字符串)。
正则表达式通过使用搜索树截断技术等来优化效率......因此通常是有效的替代方法。
这应该做你想要的。
preg_replace("/\/it\//","/es/","http://mysite/myfolder/it/my-keywords.html")
答案 1 :(得分:0)
preg_replace很有用,但其他部分是可变的。在你的情况下,/ it /文件夹已经足够独特,以便静态替换可以工作。请改用str_replace
:
$url = str_replace("/it/", "/es/", $url);