2016-11-24 45 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