2016-11-24 47 views
1

我想动态preg_replace函数值动态PHP的

mysite.com/some-link-here-t123.html 
mysite.com/some-link-here-t456.html 
mysite.com/some-link-here-t789.html 

mysite.com/some-link-here-tid123.html 
mysite.com/some-link-here-tid456.html 
mysite.com/some-link-here-tid789.html 

我试着用下面

<?php 
$string2 = preg_replace('/-t([^0-9.html]*)/','-tid$1',$string); 
?> 

但它搞乱了所有更改这些链接换句话说s从-t挞像-table变成-tidable 如何解决这个问题?

+2

,为什么你有'.html'角色集团内?你为什么在开始时用'^'否定组? – Barmar

回答

5

您需要后“-t”像这样来限制你的正则表达式来仅匹配数字:

<?php 
$string2 = preg_replace('/-t([0-9]+)/','-tid$1',$string); 
?> 
+0

不知道你如何管理它如此之快,但它是这个问题的完美答案。 – Xorifelse

+1

/-((0-9]+)\.html/,以防万一他们有一个像mysite.com/some-link-here-t90-t123.html – Daerik

+0

的URL感谢很多@Martin杯现在工作正常 – Aliza