我有以下网址结构:
http://website.com/wordpress/2012/04/permalink-string-string/
我想摆脱/2012/04
我试过了:
$cont = preg_replace('http:\\/\\/website\\/.com\\/wordpress\\/[0-9]{4}\\/[0-9]{2}\\/', 'http://website.com/', $cont);
我双重逃脱了反斜杠...
我尝试了其他主题的示例而没有得到任何结果。只需清空$cont
。
谢谢!
答案 0 :(得分:0)
你有一个额外的/
,没有开始和结束的斜线,你从未逃过点,这意味着它可以接受点的位置。但是,这是工作代码:
$cont = "http://website.com/wordpress/2012/04/permalink-string-string/";
$cont = preg_replace('/http:\/\/website\.com\/wordpress\/[0-9]{4}\/[0-9]{2}\//', 'http://website.com/', $cont);
print_r($cont);
这会打印http://website.com/permalink-string-string/
答案 1 :(得分:0)
你的正则表达式可能会因为前瞻性断言而被简化一点
$cont = preg_replace('/.*?\/(?!.*\/)/', 'http://www.website.com/wordpress/', $cont);
那将把所有内容都提取到正斜杠的最后一个实例。