Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2009, 20:37   #11
hoza_syl
Форумчанин
 
Аватар для hoza_syl
 
Регистрация: 23.05.2008
Сообщений: 219
По умолчанию

Это из язика Язык PCRE - если интересно погугли.
Цитата:
\s - соответствует "пробельному" символу: пробелу (" "), знаку табуляции (\t), переносу строки (\п) или возврату каретки (\г)
, а * - повторение предыдущего символа ноль или более раз
The Revolution is Now!
hoza_syl вне форума Ответить с цитированием
Старый 06.12.2009, 21:07   #12
Rekky
Форумчанин
 
Аватар для Rekky
 
Регистрация: 14.01.2009
Сообщений: 312
По умолчанию

мне теперь удалить надо блок, я набросала, но не получилось...может подскажешь что не так..
Код:
$content = preg_replace("/[$numini]\s*name=$name\s*id=$id\s*prnt_id=$prnt_id\s*num=$num\s*description=$description/", "", $content);
Никому не поставить нас на колени! Мы лежали и будем лежать!
Rekky вне форума Ответить с цитированием
Старый 06.12.2009, 21:07   #13
Rekky
Форумчанин
 
Аватар для Rekky
 
Регистрация: 14.01.2009
Сообщений: 312
По умолчанию

наверно из-за квадратных скобок?
Никому не поставить нас на колени! Мы лежали и будем лежать!
Rekky вне форума Ответить с цитированием
Старый 06.12.2009, 21:17   #14
hoza_syl
Форумчанин
 
Аватар для hoza_syl
 
Регистрация: 23.05.2008
Сообщений: 219
По умолчанию

Да - это из-за скобок - нужно их экранировать - подожди немного - я сейчас попробую сообразить нормальный запрос!)
The Revolution is Now!
hoza_syl вне форума Ответить с цитированием
Старый 06.12.2009, 21:28   #15
hoza_syl
Форумчанин
 
Аватар для hoza_syl
 
Регистрация: 23.05.2008
Сообщений: 219
По умолчанию

Вот так, можно сделать, если знаешь начало и окончание выражения:
Код:
$content = preg_replace("/\[$numini\][\s\S]*description=$description/", "", $content);
Посимвольно:
Код:
\[$numini\]
- это заэкранирование скобки с цифрой внутри - дальше идет неєкранированые скобки [ ]-означают альтернативу - т.е.
Код:
[\s\S]*
- означает 0 или много повторений любого символа (пробельного, и любого кроме пробельного), и в конце идет description=$description. Надеюсь все понятно!
!!! Но это лишь в том случае - если
Код:
description=$description
- всегда в конце блока!
The Revolution is Now!

Последний раз редактировалось hoza_syl; 06.12.2009 в 21:32. Причина: небольшая ошибка)
hoza_syl вне форума Ответить с цитированием
Старый 06.12.2009, 21:38   #16
Rekky
Форумчанин
 
Аватар для Rekky
 
Регистрация: 14.01.2009
Сообщений: 312
По умолчанию

Странно не работает(( Вроде все логично..
Никому не поставить нас на колени! Мы лежали и будем лежать!
Rekky вне форума Ответить с цитированием
Старый 06.12.2009, 21:48   #17
Rekky
Форумчанин
 
Аватар для Rekky
 
Регистрация: 14.01.2009
Сообщений: 312
По умолчанию

переменная description содержит текст,в файле он отображается в кавычках...надо как то их учесть наверно, а то мне кажется он просто сравнивает текст без кавычек(((
Никому не поставить нас на колени! Мы лежали и будем лежать!
Rekky вне форума Ответить с цитированием
Старый 06.12.2009, 21:54   #18
hoza_syl
Форумчанин
 
Аватар для hoza_syl
 
Регистрация: 23.05.2008
Сообщений: 219
По умолчанию

А - ну тогда все понятно, делай так:
Код:
$content = preg_replace("/\[$numini\][\s\S]*description='$description'/", "", $content);
Так у меня работает! Просто я не знал, что текст в файле в кавычках!
The Revolution is Now!
hoza_syl вне форума Ответить с цитированием
Старый 06.12.2009, 21:58   #19
hoza_syl
Форумчанин
 
Аватар для hoza_syl
 
Регистрация: 23.05.2008
Сообщений: 219
По умолчанию

А еще лучше сделай так:
Код:
$content = preg_replace("/\[$numini\][\s\S]*?description='$description'/", "", $content);
Тут я ставлю у * - знак вопроса, тем самим делая его "ленивым", если этого не сделать, а у тебя будут одинаковые description, то это удалит все от [что то] до последней встречи description='$description', а если поставить знак вопроса, то только до первого совпадения!
The Revolution is Now!
hoza_syl вне форума Ответить с цитированием
Старый 06.12.2009, 22:22   #20
Rekky
Форумчанин
 
Аватар для Rekky
 
Регистрация: 14.01.2009
Сообщений: 312
По умолчанию

что то никак! ладно утро вечера мудренее))))) придумаем что нибудь) спасибо что помог
Никому не поставить нас на колени! Мы лежали и будем лежать!
Rekky вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
поиск строки в файле getUp Общие вопросы C/C++ 7 24.10.2009 23:19
поиск строки в файле по шаблону andru15 Общие вопросы C/C++ 1 16.02.2009 18:44
Поиск строки в текстовом файле Black_Ak24 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 24.01.2009 20:30
Поиск строки в файле Gwynbleidd Общие вопросы C/C++ 1 08.10.2008 01:45