2016-04-22 16 views
2

我想知道如果我需要甚至可能。我有一個字符串,我想用另一個字符串來代替它的一部分,但是我想要替換的字符串有一些'動態'字符。str_replace與一個可變字符

我有一個包含一個字符串:

http://someurl.com/whatever?page= *

其中*可以是任意數字

我需要有:

http://someurl.com/whatever?page= *#/ somestring

其中#/ somestring是硬編碼

+2

如果你有一個動態的絃線部分有你想看看'的preg_replace()',並使用一個簡單的正則表達式它。 – Rizier123

+0

額外的字符總是會在字符串的末尾出現嗎?如果是這樣,你可以追加額外的部分:$ string。='#/ somestring'; – iainn

+0

事情是,字符串是一堆html代碼,我想要修改的部分分佈在該字符串內 – user3813360

回答

0

正如其他建議你可以使用正則表達式對這些樣的東西;你的情況我建議是這樣的:

$sub = 'http://someurl.com/whatever?page=23'; 
$new = preg_replace('/\?page=([0-9]+)/', '?page=$1#/something', $sub); 

echo $sub; 
echo '</br>'; 
echo $new; 

它打印:

http://someurl.com/whatever?page=23 
http://someurl.com/whatever?page=23#/something 
+0

這很好地工作。謝謝 – user3813360

0

您可以使用strpos()來查找起始位置和字符串的結束位置。 然後您只需使用str_replace編輯鏈接。

看看我早先在這裏的答案:PHP To Show Title From Reffering URL 在你的情況下,你不應該使用strip_tags,但其餘的是完全一樣的。