在 PHP 中,如何用X
so替换字符串string
的第二个和第三个字符sXXing
?
字符串的长度将固定为六个字符。
谢谢
这取决于你在做什么。
在大多数情况下,您将使用:
$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欢重庆。
简单的:
<?php
$str = "string";
$str[1] = $str[2] = "X";
echo $str;
?>
function mb_substr_replace($string, $replacement, $start, $length=0)
{
return mb_substr($string, 0, $start) . $replacement . mb_substr($string, $start+$length);
}
与上面相同,但标准化为更像substr_replace(-substr-函数通常取长度,而不是结束位置)
对于替换,使用函数
$str = 'bar';
$str[1] = 'A';
echo $str; // prints bAr
或者您可以将库函数 substr_replace 用作:
$str = substr_replace($str,$char,$pos,1);
同样对于第三名