[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: не работает preg_replace
AquaGen
код:
	$content=file_get_contents($theme_file.'/module/settings.txt');
$pattern="/(==([А-Яа-яA-Za-z0-9- ]+)==\s(([А-Яа-яA-Za-z0-9-\s:']+)(\|([А-Яа-яA-Za-z0-9-\s:']+))*\s*)*)/";
$content=preg_replace($pattern,'a',$content);

на экране
Цитата
==Общине настройки== Название сайта:|например: "Моя домашняя страница"|sitename Доступ:|Доступен ли сайт для пользователей|access|checkbox ==Настройки базы данных== Название сайта:|например: "Моя домашняя страница"|sitename

а должно быть 'a'
что такое?
код settings.txt
Цитата
==Общине настройки==
Название сайта:|например: "Моя домашняя страница"|sitename
Доступ:|Доступен ли сайт для пользователей|access|checkbox
==Настройки базы данных==
Название сайта:|например: "Моя домашняя страница"|sitename




Спустя 5 минут, 39 секунд (12.07.2011 - 09:40) AquaGen написал(а):
даже вот так уже не работает:
Цитата
$pattern="/==([А-Яа-яA-Za-z0-9- ]+)==/";

Спустя 51 минута, 6 секунд (12.07.2011 - 10:31) Mirexzpalich написал(а):
Цитата

Цитата
Цитата

==Общине настройки==
Название сайта:|например: "Моя домашняя страница"|sitename
Доступ:|Доступен ли сайт для пользователей|access|checkbox
==Настройки базы данных==
Название сайта:|например: "Моя домашняя страница"|sitename


Может вам мешают символы переноса строки?

Спустя 9 минут, 23 секунды (12.07.2011 - 10:40) AquaGen написал(а):
Цитата

Символьные классы (наборы символов)
\s Соответствует символу пробела. Эквивалентно [\f\n\r\t]

к тому же само выражение работает например на http://gskinner.com/RegExr/
а на php нет

Спустя 36 минут, 46 секунд (12.07.2011 - 11:17) Mirexzpalich написал(а):
AquaGen
Символ конца строки вам не о чем не говорит?

Спустя 2 часа, 8 минут, 39 секунд (12.07.2011 - 13:26) AquaGen написал(а):
а о чем он мне должен говорить?

Спустя 4 часа, 26 минут, 42 секунды (12.07.2011 - 17:52) Winston написал(а):
Вы используете русские символы в строке, файл в какой кодировке? Возможно имеет смысл использовать модификатор u ?
Цитата (AquaGen @ 12.07.2011 - 10:40)
\s же там написано

А вы только про \s прочитали ?
Вы ниже страницу пролистайте и прочитайте про модификаторы.
Цитата
s Включает режим соответствия точки символам переноса строки и возврата каретки

То есть перенос строки будет включатся в \s только в том случае, если будет использоваться модификатор s wink.gif

Спустя 30 минут, 17 секунд (12.07.2011 - 18:23) AquaGen написал(а):
Включает режим соответствия точки символам переноса строки и возврата каретки
а разве здесь написано не про символ '.'

Спустя 4 минуты, 25 секунд (12.07.2011 - 18:27) Winston написал(а):
Цитата (AquaGen @ 12.07.2011 - 18:23)
а разве здесь написано не про символ '.'

Ааа, блин жестко протупил.
А вот насчет u задумайтесь wink.gif



Спустя 6 минут, 25 секунд PHPprogramer написал(а):
Вопрос:
Вам нужно всю строку заменить на а ?

Спустя 18 минут, 8 секунд (12.07.2011 - 18:45) Mirexzpalich написал(а):
AquaGen
Цитата
а о чем он мне должен говорить?

В каждой строке есть символ ее начала и конца (даже помимо символа переноса каретки...)

Спустя 10 минут, 7 секунд (12.07.2011 - 18:55) Winston написал(а):
Короче, напишите так и будет счастье
$content = iconv('windows-1251', 'UTF-8', $content);
$pattern="#[\wа-яё=|:'\"]+#iu";
$content = preg_replace($pattern,'a',$content);

Спустя 20 часов, 16 минут, 36 секунд (13.07.2011 - 15:12) AquaGen написал(а):
все! из-за того что u не было не работало! smile.gif

Спустя 8 минут, 37 секунд (13.07.2011 - 15:20) Winston написал(а):
Цитата (AquaGen @ 13.07.2011 - 15:12)
все! из-за того что u не было не работало!

А + в репу rolleyes.gif
Быстрый ответ:

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