大家知道preg_replace可以用来格式化字符串但是 我需要那个相关领域的帮助 我的网址将是这样的
www.example.com/en/index.php
或
www.example.com/fr/index.php
我想要的是获得
结果为
www.example.com/index.php
我需要在PHP代码中设置,以便在会话中设置
有人可以解释一下吗?
答案 0 :(得分:2)
preg_replace('/www.example.com\/(.+)\/index.php/i', "www.example.com/index.php?lang=$1", $url);
会做的事情
答案 1 :(得分:1)
这是一种方法: -
$newurl = preg_replace('/\/[a-z][a-z]\//', '/', $url);
请注意,搜索字符串会显示引号和正斜杠('/.../'),然后必须转义URL中的正斜杠(\ /)。语言代码然后与'[a-z] [a-z]'匹配,但是还有其他几种方法可以做到这一点,如果有3个字母代码或大写字母,你可能想要更自由的东西。同样,您可能需要做一些更严格的事情,具体取决于可能出现的其他URL方案。
答案 2 :(得分:1)
我怀疑在这种情况下,使用str_replace会更快,如下所示:
$cleanedData = str_replace(array('www.example.com/en/', 'www.example.com/fr/'), '', $sourceData);
答案 3 :(得分:0)
最后,我得到了一个方法,我要感谢Purpletoucan
$newurl = preg_replace('/\/(en|esp|fr)\//', '/', $url);
现在我觉得它正在工作!