2010-09-03 148 views
3
$string = 'http://site.com/category/1/news/2134/'; // '1' is dynamic 

如何將1更改爲我想要的任意數字?PHP替換字符串

無法調用字符串的部分,它只是一個類似文本的變量。

它可以用一些真正的正則表達式來完成。

+1

請更詳細地定義問題。數字總是以「類別」作爲前綴嗎?它會永遠是路徑的第二個成員嗎? – 2010-09-03 13:47:05

回答

2
$string = preg_replace('~(?<=category/)[0-9]+(?=/news)~', '56', $string); 

這由56

取代數量這種方法使用與assertions正則表達式。

2
$array = explode('/',$string); 
$array[4] = '666'; 
$string = implode('/',$array); 

@人們downvoting,什麼似乎是這種方法的問題?

+0

這對於任何字符串處理任務來說都非常脆弱。如果投入不健全,它甚至不會以令人信服的方式突破。 – Gian 2010-09-03 13:50:00

2

沒有更多的信息,你的問題我最好的猜測是:

<?php 
$string = 'http://site.com/category/' . $yourNumberHere . '/news/2134/'; 
?>