[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: preg_replace работает по разному
nkp07
Кодировка на Денвере и хостинге установлена в UTF-8 через .htaccess
Вот код в php-файле в кодировке UTF-8

<?php
$description = 'Новая статья в блоге издательства поможет Вам сэкономить время и деньги.';
$s = trim( str_replace( ".", "", $description) );
$s = mb_convert_encoding( $s,"Windows-1251","UTF-8");

$s = str_replace( " ", ", ", $s );
//echo mb_convert_encoding( $s,"UTF-8", "Windows-1251").'<br>';
$s =preg_replace("#\b(\S{1,4})\b,#", "", $s );
$keys = mb_convert_encoding( $s, "UTF-8", "Windows-1251");

echo $keys.'<br>';
?>

На Денвере выдаёт правильно:

Новая, статья, блоге, издательства, поможет, сэкономить, время, деньги

На хостинге неправильно:
Новая, статья, в, блоге, издательства, поможет, Вам, сэкономить, время, и, деньги

Что может быть не так? Какие настройки смотреть?
Игорь_Vasinsky
вместо str_replace() в юникоде используй http://php.net/manual/ru/function.strtr.php
для регулярок модификатор u

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.