【问题标题】:strreplace PHP function for utf-8 string用于 utf-8 字符串的 str_replace PHP 函数
【发布时间】:2015-10-20 08:04:20
【问题描述】:

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

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

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

【问题讨论】:

标签: php regex utf-8 preg-replace


【解决方案1】:

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

根据字符数执行多字节安全的substr() 操作。位置从 str 开始计算。第一个字符的位置是0。第二个字符位置是1,以此类推。

示例 PHP 代码:

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

这会将Вася 更改为Ваня,因为第三个符号将被$replacement“替换”。

IDEONE demo

【讨论】:

    【解决方案2】:

    使用 php,如果你这样做了

    $string[1] = $replacement;

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

    【讨论】:

      猜你喜欢
      • 2017-11-15
      • 2016-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多