Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Закрытая темаСоздание новой темыСоздание опроса

> вопрос по preg_match_all
kpripper  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 52
Пользователь №: 27185
На форуме: 6 лет, 3 месяца, 22 дня
Карма:




Это функция возвращает массив
первый елемент массива это совпадения по регулярному выражению
второй элемент то же, но без тегов, так ?

Например:

"#<h1 lang=\"en\" class=\"title\">(.*)</h1>#Usi"

из строки

<h1 lang="en" class="title">
Neurocritical Care
</h1>

выводит:


Array
(
[0] => Array
(
[0] => <h1 lang="en" class="title">
Neurocritical Care
</h1>
)

[1] => Array
(
[0] =>
Neurocritical Care

)

)

Если так, то что будет в элементах где нет тегов ? Что-то в описании функции про это толком ничего нет.



Спустя 18 минут, 42 секунды (4.01.2012 - 15:30) Winston написал(а):
В элементе с индексом 0, находится вся строка которая совпадает с регуляркой.
В элементах от 1 и до n находятся совпадения в подмасках, то есть в ( )
То есть ты написал вот так
Цитата (kpripper @ 4.01.2012 - 14:11)
(.*)

Значит совпадения будут находится в элементе с индексом 1. Если ты добавишь еще одну пару скобок ( ), значит то, что попадется в них, будет находится в элементе с индексом 2, и т.д.

Спустя 5 минут, 39 секунд (4.01.2012 - 15:36) Лена написал(а):
Другой пример, подтверждающий слова Winston

$pattern1 = "#<h1 lang=\"en\" class=\"title\">([a-z\s]+)([1-9\s]+)</h1>#Usi";
$str1 = '<h1 lang="en" class="title">
Neurocritical Care 123456
</h1>'
;

preg_match_all($pattern1,$str1,$out1);

print "<pre>";
print_r($out1);

В первом элементе $out1 - все выражение, во втором - буквы(первые группирующие скобки), в третьем(вторые группирующие скобки) - цифры.

Спустя 1 час, 3 минуты, 2 секунды (4.01.2012 - 16:39) kpripper написал(а):
А понятно, спасибо. Я все думал, что это за подмаски там такие.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Закрытая темаСоздание новой темыСоздание опроса