带有可变字符的str_replace

时间:2016-04-22 10:11:07

标签: php string

我想知道我的需要是否可能。我有一个字符串,我想用另一个字符串替换它的一部分没什么难的但是我要替换的字符串有一些动态的'字符。

我有一个包含以下内容的字符串:

  

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

其中*可以是任何数字

我需要:

  

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

其中#/ somestring是硬编码的

3 个答案:

答案 0 :(得分:0)

您可以使用strpos()查找字符串的起始位置和结束位置。 然后你只需使用str_replace来编辑链接。

请看我之前的答案:PHP To Show Title From Reffering URL 在你的情况下,你不应该使用strip_tags,但其余部分完全相同。

答案 1 :(得分:0)

此代码应该这样做:

$string="http://someurl.com/whatever?page=129833";
$replacement="#/somestring";
echo preg_replace('/(http:\/\/someurl\.com\/.*?page=[0-9]+)/','\1'.$replacement,$string);

打印:

  

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

答案 2 :(得分:0)

正如其他人所说,你可以使用正则表达式来做这些事情;在你的情况下,我会建议这样的事情:

SPERIOD
2015-01-01
2015-01-02
2015-01-16
2015-01-18

打印:

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

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