X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Подскажите как поправить регулярку, preg_match_all
zetx
zetx
Topic Starter сообщение 2.8.2010, 2:01; Ответить: zetx
Сообщение #1


Есть код:
$str = 'aaabbbccc';
preg_match_all("#aaa(.*?)ccc#", $str, $res);

Возвращает массив: Array ( [0] => Array ( [0] => aaabbbccc ) [1] => Array ( [0] => bbb ) )

Но если в строке $str я вставляю разрыв, то массив возвращается пустой

$str = 'aaa
bbbccc';
preg_match_all("#aaa(.*?)ccc#", $str, $res);


Как подредактировать регулярку, чтобы функция возвращала все символы, находящиеся между aaa и bbb?
Заранее спасибо.

Сообщение отредактировал zetx - 2.8.2010, 2:05
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
LaeX
LaeX
сообщение 2.8.2010, 2:34; Ответить: LaeX
Сообщение #2


Выводите, то что между aaa и ccc вот так:
echo $res[1][0];


Сообщение отредактировал LaeX - 2.8.2010, 2:35


--------------------
ICQpix — лучшие информеры ICQ статуса
Ѡ VDS за $2.99 (реф.) → 512/1024MB RAM, 50 GB HDD, полноценный SWAP
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Cttr
Cttr
сообщение 2.8.2010, 2:44; Ответить: Cttr
Сообщение #3


К чему там "?" - * и так обозначает 0 или более
$str = 'aaabbbccc';
preg_match ('/aaa(.*)ccc/', $str, $res);
echo $res[1];

А если выражение в $str одно, то лучше использовать preg_match

Сообщение отредактировал Cttr - 2.8.2010, 2:50
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
get-names
get-names
сообщение 2.8.2010, 3:01; Ответить: get-names
Сообщение #4


preg_match_all("#aaa(.|\n)*?ccc#", $str, $res);

enjoy)


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Cttr
Cttr
сообщение 2.8.2010, 3:04; Ответить: Cttr
Сообщение #5


get-names к чему такое извращение? biggrin.gif
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
get-names
get-names
сообщение 2.8.2010, 3:09; Ответить: get-names
Сообщение #6


Cttr, сделайте лучше biggrin.gif
Но сначала перечитайте первый пост - то, что вы предложили ТС-у не подойдёт...


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
zetx
zetx
Topic Starter сообщение 2.8.2010, 3:14; Ответить: zetx
Сообщение #7


(get-names @ 2.8.2010, 2:01) *
preg_match_all("#aaa(.|\n)*?ccc#", $str, $res);

Вот такой массив print_r выводит:
Array ( [0] => Array ( [0] => aaa bbbccc ) [1] => Array ( [0] => b ) )
Куда-то подевались 'bb'
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Cttr
Cttr
сообщение 2.8.2010, 3:27; Ответить: Cttr
Сообщение #8


get-names, пардон глянул на первый вариант

<?php
    $str = 'aaa
    bbbccc';
    preg_match ('/aaa((\n|.)*)ccc/', $str, $res);
    print_r ($res);
?>


(zetx @ 2.8.2010, 2:14) *
Куда-то подевались 'bb'

Просто не была выделена общая маска. 2 часа ночи - все ошибаемся

Сообщение отредактировал Cttr - 2.8.2010, 3:27


Поблагодарили: (2)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
get-names
get-names
сообщение 2.8.2010, 3:38; Ответить: get-names
Сообщение #9


(zetx @ 2.8.2010, 2:14) *
Куда-то подевались 'bb'

preg_match_all("#aaa((.|\n)*?)ccc#", $str, $res);


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
zetx
zetx
Topic Starter сообщение 2.8.2010, 20:10; Ответить: zetx
Сообщение #10


Всем спасибо за помощь.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Как вы отдыхаете от работы за компом
151 adw-kupon.ru 19809 Сегодня, 13:52
автор: Vmir
Открытая тема (нет новых ответов) Как вы бросили работу и перешли на заработок с сайтов?
20 uahomka 3441 Сегодня, 11:54
автор: Skyworker
Открытая тема (нет новых ответов) Как в пушсетках покупают по 100-200 тысяч кликов за день?
1 Boymaster 510 Сегодня, 11:45
автор: Skyworker
Горячая тема (нет новых ответов) Как вывести деньги в Украине с заблокированного Юмани ?
30 freeax 5006 20.4.2024, 16:49
автор: Liudmila
Открытая тема (нет новых ответов) Арбитражники, как ведете учет расходов и доходов?
13 Boymaster 2018 20.4.2024, 15:06
автор: Boymaster


 



RSS Текстовая версия Сейчас: 23.4.2024, 21:41
Дизайн