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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Большие ставки для кликов в Я.Директ. Как удешевить?
2 rownong27 1116 26.3.2024, 14:13
автор: knezevolk
Открытая тема (нет новых ответов) Как вы бросили работу и перешли на заработок с сайтов?
12 uahomka 2283 25.3.2024, 6:52
автор: Skyworker
Открытая тема (нет новых ответов) Как отозвать банковский платеж фрилансеру?
28 metvekot 3910 25.3.2024, 6:34
автор: Skyworker
Открытая тема (нет новых ответов) Как вывести деньги в Украине с заблокированного Юмани ?
23 freeax 3635 24.3.2024, 20:55
автор: Liudmila
Открытая тема (нет новых ответов) Через какой браузер и как можно найти в кэшэ браузера видео
10 Room 1926 23.3.2024, 7:41
автор: Room


 



RSS Текстовая версия Сейчас: 28.3.2024, 15:46
Дизайн