У меня есть арабский текст, и я хочу заменить «Начальный» & «Медиальные» формы некоторых букв (не всех форм) с другими буквами или символами;
Пример:
$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
);