Как заменить исходную форму арабского письма с помощью PHP?

У меня есть арабский текст, и я хочу заменить «Начальный» & «Медиальные» формы некоторых букв (не всех форм) с другими буквами или символами;

Пример:

$text = '...وقد تم تصميم وبناء جميع مكونات الطائرة';

Мне нужно заменить начальную форму буквы «ت», которая находится в слове «تم», на другую букву; имеющиеся «ت» в «مكونات», являющиеся окончательной формой этого письма, не подлежат замене.

Кажется, коды символов (Unicode) не могут быть использованы в str_replace() найти конкретную форму письма и заменить его.

Замечания:

Большинство арабских букв отличаются от:

  • Начальная форма: используется в начале слова, как «ت» в «تم».
  • Медиальная форма: используется в середине слова, как «ت» в «نستعين».
  • Окончательная форма: используется в последнем слове, как «ت» в «مكونات».

увидеть wikipedia.org для дополнительной информации.

4

Решение

Здесь я дал кусок кода .. надеюсь, у вас будет работать$text = '...وقد تم تصميم وبناء جميع مكونات الطائرة';
$a=array('ت','تم');
$b=array('ت','مكونات');``
echo str_replace($a,$b,$text);

0

Другие решения

Буквенные формы используются только для вывода. Они не должны храниться и / или обрабатываться таким образом. Вы должны найти другой способ сделать то, что вы хотите.

Попробуйте RegExp.
Это может помочь вам. http://php.net/manual/en/regexp.reference.unicode.php

Или, если вы настаиваете на использовании str_replace, вы можете сделать это.

str_replace(
' ت',
' وت',
$string
);
-1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector