Php str_替换为阿拉伯语字符

Php str_替换为阿拉伯语字符,php,Php,我试图用另一个符号替换一些阿拉伯字符 某些arbic字符已被替换,但其中一个字符未被替换 首先我试着把这个词分开 第二,尝试替换字符 字符是ٍَُِْ所有这些都被替换了,但问题在于这个字符ّ strong文本 这是密码 $spelling=""; function str_split_unicode($str, $l = 0) { if ($l > 0) { $ret = array(); $len = mb_strlen($str, "UTF-8"); for ($i =

我试图用另一个符号替换一些阿拉伯字符 某些arbic字符已被替换,但其中一个字符未被替换 首先我试着把这个词分开 第二,尝试替换字符 字符是ٍَُِْ所有这些都被替换了,但问题在于这个字符ّ strong文本 这是密码

   $spelling="";

function str_split_unicode($str, $l = 0) {

if ($l > 0) {

$ret = array();

$len = mb_strlen($str, "UTF-8");

for ($i = 0; $i < $len; $i += $l) {

$ret[] = mb_substr($str, $i, $l, "UTF-8");

}
return $ret;
}
return preg_split("//u", $str, -1, PREG_SPLIT_NO_EMPTY);
}

if(isset($_POST['txt_word'])){

 $spelling = implode("  ", str_split_unicode($_POST['txt_word']));

}


 $search  = array('ّّ ','ً ','ٍ ','ٌ ','ُ ','َ ','ِ ','ْ ');

$replace = array('0/','/0','/0','/0','/','/','/','0');

$subject= str_replace($search, $replace,  $spelling);

$alphabet=array('أ','ا','ب','ت','ث','ج','ح','خ','د','ذ','ر','ز','س','ش','س','ص','ط','ظ','ع','غ','ف','ق','ل','م','ن','ه','و','ي','لا','ة','إ','ئ','ؤ','ك','ى','ء');

$rep=array('','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','');

$res=str_replace($alphabet,$rep,$subject);
$spelling=”“;
函数str\u split\u unicode($str,$l=0){
如果($l>0){
$ret=array();
$len=mbstrlen($str,“UTF-8”);
对于($i=0;$i<$len;$i+=$l){
$ret[]=mb_substr($str,$i,$l,“UTF-8”);
}
返回$ret;
}
返回preg\u split(“//u”,$str,-1,preg\u split\u NO\u为空);
}
如果(isset($\u POST['txt\u word'])){
$spelling=内爆(“,str_split_unicode($_POST['txt\u word']);
}
$search=数组(“ّّ”、“ً”、“ٍ”、“ٌ”、“ُ”、“َ”、“ِ”、“ْ”);
$replace=array('0/'、'/0'、'/0'、'/0'、'/'、'/'、'/'、'/'、'0');
$subject=str_replace($search,$replace,$spelling);
$alphabet=数组(‘أ’、‘ا’、‘ت’、‘ث’、‘ر’、‘ذ’、‘ز’、‘ش’、‘ش’、‘ؾ’、‘ع’、‘غ’、‘ف’、‘م’、‘و’、‘ن’、‘ه’、‘㶩’、‘㶍’、‘㶍’、‘㶍’、‘㶶’、‘㶶’、‘㶶’、‘㶶’、‘㶶’、‘㶶’、‘㶶;
$rep=数组(“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”);
$res=str_replace($alphabet,$rep,$subject);
str_replace()
应该能够处理Unicode字符。如果它不能处理Unicode字符,您可能没有将其传递给Unicode

确保从显示的网站一直到PHP脚本都在处理Unicode字符串。有关更多信息,请参阅本文:。

我在类似情况下使用过

$replace = array(
   '/ä/u'=>'a',
   '/p/u'=>'r',
);

$patterns = array_keys($replace);
$replacements = array_values($replace);

echo preg_replace($patterns, $replacements, $string);
可能重复的