Php 当使用前缀而不是后缀回显字符串时,如何修改具有不同值的字符串?

Php 当使用前缀而不是后缀回显字符串时,如何修改具有不同值的字符串?,php,string,replace,Php,String,Replace,我正在修改的软件中有一个代码,看起来是使用这个~http://(.*)\。~ <?php $str="http://old.example.com/12345-title.html"; echo $str = preg_replace("~http://(.*?)\.~","http://www.", $str); 您可以使用str_replace()函数:-)@Bonakid如果该函数找不到正在搜索的值,因为主题字符串的另一端包含不同的值,该怎么办?您不需要在新变量中存储新字符串,即使

我正在修改的软件中有一个代码,看起来是
使用这个
~http://(.*)\。~

<?php
$str="http://old.example.com/12345-title.html";
echo $str = preg_replace("~http://(.*?)\.~","http://www.", $str);

您可以使用str_replace()函数:-)@Bonakid如果该函数找不到正在搜索的值,因为主题字符串的另一端包含不同的值,该怎么办?您不需要在新变量中存储新字符串,即使用前缀回显时具有不同值的字符串,已存储在软件上的变量中。没有发生任何情况,输出仍然是
http://old.example.com/12345-title.html
。。可能是因为
preg\u replace
找不到正在搜索的值,因为主题字符串的另一端包含不同的值。什么都没有发生?下面是上述代码的演示。这是它应该做的。也许应该提供一个关于你的问题的输入列表。是的,我知道你的解决方案和我的解决方案将适用于任何常规字符串。。但不是这个,因为当我尝试做
echo“TEST”时,请考虑一下$str
它返回一个不同的值,即
TEST-0/posts/11 cat/22 sub cat/12345 title.html
而不是
TESThttp://old.example.com/12345-title.html
http://www.example.com/12345-title.html