我有一个字符串"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 /”吗?
答案 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
我还认为substr会尽可能快地获得它。