Всем привет!
Есть HTML сайты, на которых тег {SAPE} при помощи preg_replace заменяется ссылками, и они выводится. Как известно preg_replace не дружит с UTF-8. Но поскольку система SAPE выдает ссылки на русском языке пришлось модифицировать пару строк, добавив перекодировку при помощи iconv:
CODE:$page = preg_replace('#\{SAPE\((\d+)\)\}#e', iconv('UTF-8','cp1251','$sape->return_links($1)'), $page);
$page = iconv('cp1251','UTF-8',$page);
И всё хорошо работает на целиком английских сайтах, но с русскими ссылками от SAPE.
А вот пошли сайты на русском языке, и там все отображается только до тега
Т.е. одно лишь название страницы, да и то в виде знаков
CODE:ЕЖЕДНЕВНЫЕ РќРћР’РћРЎРўР
Что делать? preg_replace - моя самая нелюбимейшая функция в PHP, всегда с ней проблемы.
P.S. Простые способы с добавлением "u" в preg_replace проверял - что-то не работает, может не так добавлял. |