Gameer
Постоялец
- Регистрация
- 25 Апр 2014
- Сообщения
- 187
- Реакции
- 118
- Автор темы
- #1
Здравствуйте все, есть код :
Суть кода в том что бы найти все вхождения слов с символом # и заменить на ссылку, для этого использую preg_replace_callback и анонимную функцию. Если символы латинские все хорошо, если русские то все плохо. Получаем такую картину
Отдает вовсе японские символы, в первые с таким сталкиваюсь. Проверял как на локале так и не сервере, ответ один и тот же.
Что не так в коде-то ?
PHP:
$str ="#тестовая новость";
$str = preg_replace_callback('/(\#\w+)|\#[а-яёіїъ]+/mis',
function($matches){
$url = str_replace('#','',$matches[0]);
$url = urlencode($url);return'<a href="'.$url.'">'.$matches[0].'</a>';
},
$str);
Что не так в коде-то ?