Проблемы с PHP, preg_replace и регулярными выражениями

Я пытаюсь запустить эту команду php:

preg_replace($regexp, $replace, $text, $maxsingle);

Где находятся вары:

$regexp = '/(?!(?:[^<\\[]+[>\\]]|[^>\\]]+<\\/a>))\\b(שלום)\\b/imsU';
$replace = '<a title="$1" href="http://stackoverflow.com">$1</a>';
$text is a long post
$maxsingle = 3;

Когда текст, который я пытаюсь сопоставить (в приведенном выше случае "שלום"), на английском языке, все работает. Однако, когда текст на иврите, он ничему не соответствует...

Есть идеи, как заставить иврит работать с preg_replace?

Спасибо.


person tounano    schedule 13.11.2010    source источник


Ответы (1)


Попробуйте использовать флаг /u (utf-8)

person Mark Baker    schedule 13.11.2010
comment
эй, спасибо за ваш ответ. где я должен положить его? Не могли бы вы вставить мне точное регулярное выражение? Благодарю. - person tounano; 13.11.2010
comment
$regexp = '/(?!(?:[^‹\\[]+[›\\]]|[^›\\]]+‹\\/a›))\\b(שלום)\\ б/имсуУ'; - person Mark Baker; 13.11.2010