加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP中的substr_replace编码

发布时间:2020-12-13 17:29:43 所属栏目:PHP教程 来源:网络整理
导读:我想写一个文本文件.当我在php中使用substr_replace时,编码会发生变化.它不能正确打印希腊字符.如果我不是一切都很好.有什么建议? ?php$file = "test.txt";$writeFile = fopen($file,"w+");//read/write$myarray = array("δφδφ","δφδσφδσ","δφ
我想写一个文本文件.当我在php中使用substr_replace时,编码会发生变化.它不能正确打印希腊字符.如果我不是一切都很好.有什么建议?
<?php
$file = "test.txt";
$writeFile = fopen($file,"w+");//read/write
$myarray = array("δφδφ","δφδσφδσ","δφδφδ");
$myarray[0] = substr_replace($myarray[0],"ε",1);

foreach ($myarray as $data){      
fwrite($writeFile,$data."n");
}
?>

结果
εφδφ
δφδσφδσ
δφδφδ

没有substr_replace的结果
δφδφ
δφδσφδσ
δφδφδ

您可以使用以下两个功能:

从shkspr.mobi

function mb_substr_replace($original,$replacement,$position,$length)
{
 $startString = mb_substr($original,"UTF-8");
 $endString = mb_substr($original,$position + $length,mb_strlen($original),"UTF-8");

 $out = $startString . $replacement . $endString;

 return $out;
}

从GitHub开始

function mb_substr_replace($str,$repl,$start,$length = null)
{
    preg_match_all('/./us',$str,$ar);
    preg_match_all('/./us',$rar);
    $length = is_int($length) ? $length : utf8_strlen($str);
    array_splice($ar[0],$length,$rar[0]);
    return implode($ar[0]);
}

我试过两个都很好

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读