我想知道如果我需要甚至可能。我有一個字符串,我想用另一個字符串來代替它的一部分,但是我想要替換的字符串有一些'動態'字符。str_replace與一個可變字符
我有一個包含一個字符串:
其中*可以是任意數字
我需要有:
http://someurl.com/whatever?page= *#/ somestring
其中#/ somestring是硬編碼
我想知道如果我需要甚至可能。我有一個字符串,我想用另一個字符串來代替它的一部分,但是我想要替換的字符串有一些'動態'字符。str_replace與一個可變字符
我有一個包含一個字符串:
其中*可以是任意數字
我需要有:
http://someurl.com/whatever?page= *#/ somestring
其中#/ somestring是硬編碼
正如其他建議你可以使用正則表達式對這些樣的東西;你的情況我建議是這樣的:
$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
這很好地工作。謝謝 – user3813360
您可以使用strpos()來查找起始位置和字符串的結束位置。 然後您只需使用str_replace編輯鏈接。
看看我早先在這裏的答案:PHP To Show Title From Reffering URL 在你的情況下,你不應該使用strip_tags,但其餘的是完全一樣的。
此代碼應該這樣做:
$string="http://someurl.com/whatever?page=129833";
$replacement="#/somestring";
echo preg_replace('/(http:\/\/someurl\.com\/.*?page=[0-9]+)/','\1'.$replacement,$string);
它打印:
如果你有一個動態的絃線部分有你想看看'的preg_replace()',並使用一個簡單的正則表達式它。 – Rizier123
額外的字符總是會在字符串的末尾出現嗎?如果是這樣,你可以追加額外的部分:$ string。='#/ somestring'; – iainn
事情是,字符串是一堆html代碼,我想要修改的部分分佈在該字符串內 – user3813360