utf-8 字符串的 strreplace PHP 函数

strreplace PHP function for utf-8 string

我想替换字符串特定索引处的字符。

preg_replace('/('.$txt.')/u', $replacement, $str,1);

但它没有索引,所以对我不起作用。 我怎样才能轻松做到这一点?

使用 php,如果你这样做

$string[1] = $replacement;

它将替换字符串中的字符。

要操作 Unicode 字符串,您需要使用适当的字符串函数。在这里,您可以使用 mb_substr:

Performs a multi-byte safe substr() operation based on number of characters. Position is counted from the beginning of str. First character's position is 0. Second character position is 1, and so on.

示例 PHP 代码:

$str = "Вася";
$replacement = "н";
$start = 3;
echo mb_substr($str,0,$start-1,"utf8") .
                    $replacement . 
                    mb_substr($str,$start,mb_strlen($str),"utf8");

这会将 Вася 更改为 Ваня,因为第三个符号将获得 "replaced" 和 $replacement

IDEONE demo