所以我只是试图用字符串中的破折号替换空格:
$string = "Some string with spaces";
输出应为Some-string-with-spaces
下面的函数可以做到这一点,但是在函数之后尝试访问变量,它就像没有被更改一样空白。
$url_title_piece = "";
function spaceDashReplace($string, $url_title_piece) {
$string_length = strlen($string);
for ($i = 0; $i < $string_length; $i++) {
if ($string[$i] === " ") {
$url_title_piece = $url_title_piece . "-";
}
else {
$url_title_piece = $url_title_piece . $string[$i];
}
}
}
spaceDashReplace($string, $url_title_piece);
echo 'modified string ' . $url_title_piece; // outputs modified string not modified string Some-string-with-spaces
如果在for循环结束时返回修改后的$ string,我能得到我想要的东西。
我使用JavaScript和PHP,所以我混淆了一些事情,比如我猜你没有用JavaScript关闭PHP。
编辑:我也意识到我应该使用某种字符串替换而不是这样做。