无法使用str_replace编辑链接

时间:2012-03-16 21:50:46

标签: php

理想情况下,我想将php脚本用作包含在每个页面上的包含。

我有链接:http://www.facebook.com/sharer.php?u=http://123.456.789.101/~user/file.php

我想让它看起来像这样:http://www.facebook.com/sharer.php?u=http://MyUrl.com/file.php

基本上我想用“MyUrl.com”替换“123.456.789.101/~user”

我将需要更改多个链接。此外,文件名“file.php”部分也会针对每个页面进行更改。我不知道确切的页面名称是什么。

我尝试了这个,但它不起作用。如果我回显str_replace它给了我正确的链接但我无法获得新的链接来替换页面中的旧链接。

<?php
$string = 'http://www.facebook.com/sharer.php?u=http://123.456.789.101/~user';
$pattern = '123.456.789.101/~user';
$replacement = 'MyUrl.com';
str_replace($pattern, $replacement, $string);
?>

非常感谢你。

2 个答案:

答案 0 :(得分:1)

您需要设置新字符串。 str_replace返回新字符串,它不会自行设置。

$string = str_replace($pattern, $replacement, $string);

如果您需要替换多个IP,则应使用正则表达式。

答案 1 :(得分:0)

试试这个

<?php
$string = 'http://www.facebook.com/sharer.php?u=http://123.456.789.101/~user';
$pattern = '123.456.789.101/~user';
$replacement = 'MyUrl.com';
$newString = str_replace($pattern, $replacement, $string);
echo $newString;
?>

要在html使用中替换:

<a href="<?php echo $newString ?>>Anchor Text Here</a>