用php替换前4个字符

时间:2019-03-08 14:47:06

标签: php string

我有一个字符串"scripts": { "start": "webpack-dev-server --mode development --inline --progress", "build": "webpack --mode production" }, ,我想用/en/products/saucony-switchback-iso/416.html替换第四个字符/en/

结果应为/de/

这是我尝试过的:

/de/products/saucony-switchback-iso/416.html

它仅返回“ / de /”吗?

3 个答案:

答案 0 :(得分:4)

您还需要定义要在字符串中替换的长度,在您的情况下为4个字符(或3个字符,这两个字符均以尾随/开头)。

$href = "/en/products/saucony-switchback-iso/416.html";
$href_replace = substr_replace($href, "/de/", 0, 4);

echo $href_replace;

如果您未如示例中那样定义长度,则默认为字符串http://php.net/manual/en/function.substr-replace.php的整个长度

  

长度

     

如果给定且为正,则表示该部分的长度   要替换的字符串。如果为负,则表示   字符串末尾要停止的字符数   更换。如果未给出,则默认为strlen(string   );即在字符串结尾处结束替换

这就是为什么您只剩下/de/

的原因

答案 1 :(得分:1)

如果要替换/ en /,str_replace是更好的功能

echo str_replace("/en/", "/de/", $href);

答案 2 :(得分:0)

从技术上讲,您只需要做3次(但无论如何),这很简单。

 echo "/de" .substr("/en/products/saucony-switchback-iso/416.html", 3);

输出

/de/products/saucony-switchback-iso/416.html

Sandbox

我还认为substr会尽可能快地获得它。