我尝试用另一个符号替换一些阿拉伯语caractere 一些arbic caractere被替换,但其中一个caractere它没有被替换 首先我试着分开这个词 第二次尝试更换caractere 所有这些都被取代了,但问题在于这个问题 强文 这是代码
$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);
答案 0 :(得分:0)
str_replace()
应该能够处理Unicode字符如果没有,你可能不会传递Unicode。
确保从显示的网站到PHP脚本一直处理Unicode字符串。有关详细信息,请参阅此文章:„Unicode-friendly PHP and MySQL“。
答案 1 :(得分:0)
我在类似案例中使用了http://www.php.net/preg_replace。
$replace = array(
'/ä/u'=>'a',
'/p/u'=>'r',
);
$patterns = array_keys($replace);
$replacements = array_values($replace);
echo preg_replace($patterns, $replacements, $string);