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



 

Здравствуйте, гость ( Вход | Регистрация )

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


Участник
***

Группа: Banned
Сообщений: 211
Регистрация: 9.8.2009
Из: Россия
Поблагодарили: 15 раз
Репутация:   8  


Есть код:
$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


Участник
***

Группа: User
Сообщений: 163
Регистрация: 2.10.2009
Поблагодарили: 81 раз
Репутация:   25  


Выводите, то что между 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


Завсегдатай
*****

Группа: Active User
Сообщений: 524
Регистрация: 13.5.2010
Из: Украина, Крым
Поблагодарили: 163 раза
Репутация:   23  


К чему там "?" - * и так обозначает 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


Участник
***

Группа: User
Сообщений: 190
Регистрация: 13.11.2009
Поблагодарили: 58 раз
Репутация:   10  


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

enjoy)


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


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


Завсегдатай
*****

Группа: Active User
Сообщений: 524
Регистрация: 13.5.2010
Из: Украина, Крым
Поблагодарили: 163 раза
Репутация:   23  


get-names к чему такое извращение? biggrin.gif


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


Участник
***

Группа: User
Сообщений: 190
Регистрация: 13.11.2009
Поблагодарили: 58 раз
Репутация:   10  


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


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


Участник
***

Группа: Banned
Сообщений: 211
Регистрация: 9.8.2009
Из: Россия
Поблагодарили: 15 раз
Репутация:   8  


(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


Завсегдатай
*****

Группа: Active User
Сообщений: 524
Регистрация: 13.5.2010
Из: Украина, Крым
Поблагодарили: 163 раза
Репутация:   23  


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


Участник
***

Группа: User
Сообщений: 190
Регистрация: 13.11.2009
Поблагодарили: 58 раз
Репутация:   10  


(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


Участник
***

Группа: Banned
Сообщений: 211
Регистрация: 9.8.2009
Из: Россия
Поблагодарили: 15 раз
Репутация:   8  


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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Как поднять доверие к сайту?
2 fair_exchange 265 Сегодня, 12:59
автор: fair_exchange
Открытая тема (нет новых ответов) Как мошенники зарабатывают на прямых трансляциях в Instagram
Не ждите порно в инстаграм, его нет
10 PostBrigada 1133 Вчера, 22:40
автор: JOHNY
Открытая тема (нет новых ответов) Маленький кейс как сделать много почтовых ящиков в Gmail
Один аккаунт = много ящиков
1 PostBrigada 512 Вчера, 21:34
автор: Pingunio
Горячая тема (нет новых ответов) Черный список обменников и как безопасно обменять валюту
141 Kurses 29921 Вчера, 13:04
автор: BestExchangers
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыКак черные SEO оптимизаторы собирают миллионы посетителей по высоко-актуальным запросам в Яндексе
5 serg5777 1550 Вчера, 11:05
автор: Ley


 



RSS Текстовая версия Сейчас: 16.12.2017, 13:47
Дизайн