在PHP中,如何用X
替换字符串的第二个和第三个字符,以便string
成为sXXing
?
字符串的长度将固定为六个字符。
由于
答案 0 :(得分:4)
这取决于你在做什么。
在大多数情况下,您将使用:
$string = "string";
$string[1] = "X";
$string[2] = "X";
这会将$ string设置为“sXXing”,以及
substr_replace('string', 'XX', 1, 2);
但是如果你想要一个完美的方法来做这样的切割,你应该知道编码。
如果你的$ string是我很喜欢重庆,你的输出将是“ XX很喜欢”而不是“我XX欢重庆”。
避免编码问题的“完美”方法是使用PHP MultiByte String extension。
自定义mb_substr_replace,因为它尚未实现:
function mb_substr_replace($output, $replace, $posOpen, $posClose) {
return mb_substr($output, 0, $posOpen) . $replace . mb_substr($output, $posClose + 1);
}
然后,代码:
echo mb_substr_replace('我很喜欢重庆', 'XX', 1, 2);
将告诉你我XX欢重庆。
答案 1 :(得分:1)
简单:
<?php
$str = "string";
$str[1] = $str[2] = "X";
echo $str;
?>
答案 2 :(得分:1)
要更换,请使用功能
$str = 'bar';
$str[1] = 'A';
echo $str; // prints bAr
或者您可以将库函数substr_replace用作:
$str = substr_replace($str,$char,$pos,1);
类似于第三名
答案 3 :(得分:1)
function mb_substr_replace($string, $replacement, $start, $length=0)
{
return mb_substr($string, 0, $start) . $replacement . mb_substr($string, $start+$length);
}
与上述相同,但标准化为更像 substr_replace ( -substr - 函数通常采用长度,而不是结束位置)