2015-02-03 3 views
2

Я занимаюсь поиском и заменой переменной.Поиск и замена арабского языка в PHP

$search = array('ي'); 
$replace = array('G'); 

echo str_replace($search, $replace, $building); 

$building имеет значение ي0009

Ожидаемый результат: 0009G, а не выход G0009.

Любые предложения?

+4

Похож замена выключила RTL ;-) –

+1

арабского языка IST RTL (справа налево) и другие (западные) языки LTR (слева направо) ... – Havelock

+0

Я знаю, в чем проблема, я прошу решение @Havelock –

ответ

0

Работая с многобайтовыми кодировками, вы должны напрямую использовать mb_str_replace() или убедиться, что у вас включено многобайтовое расширение.

Вы можете установить строковые функции, которые будут автоматически перегружена мультибайтными коллегами, как это поддерживается PHP и описываемые здесь: http://php.net/manual/en/mbstring.overload.php

+0

При всем уважении, это мусор. Первый ['str_repalce'] (http://php.net/manual/en/ref.mbstring.php#109937) отлично работает с многобайтовыми строками. Во-вторых, поскольку вы предлагаете перегружать с помощью 'mb_str_replace', не могли бы вы разместить ссылку на документацию или реализацию предлагаемой функции. – Havelock

Смежные вопросы