我有一个阿拉伯语文本,想要替换"Initial"&某些字母(并非所有形式)与其他字母或字符的"中间"形式;
示例:
$text = '...وقد تم تصميم وبناء جميع مكونات الطائرة';
我需要用另一个字母替换单词"تم"中字母"ب"的首字母形式;可用的"مكٚات",即本字母的最终形式,不应被替换。
字符码(Unicode)似乎不能在str_replace()
中用于查找特定形式的字母并替换它
注:
大多数阿拉伯语字母都有不同的缩写:
- 声母形式:用于单词的开头,如"تم"中的"ب"
- 词中形式:用在词的中间,如"ن"中的"ت"
- 词尾形式:用在单词的最后,如"مكان"中的"ت"
有关更多信息,请访问wikipedia.org。
这里我给出了一段代码。。希望能为您服务$text = '...وقد تم تصميم وبناء جميع مكونات الطائرة';
$a=array('ت','تم');
$b=array('ت','مكونات');``
echo str_replace($a,$b,$text);
字母形式仅用于输出。它们不应该以这种方式存储和/或操作。你应该想办法做你想做的事。
尝试RegExp。这可能会对你有所帮助。http://php.net/manual/en/regexp.reference.unicode.php
或者,如果你坚持使用str_replace
,你可以这样做。
str_replace(
' ت',
' وت',
$string
);