Мне нужно получить все что между тегами <item>и </item>, но когда я применяю регулярное выражение(*), вместо того чтобы получить несколько совпадений, я получаю все что находится между первым <item> и последним тегом </item>. PHP: $rssContent = " <item> <pubDate>00:00:00</pupDate> <title>title1</title> </item>\n <item> <pubDate>00:00:00</pupDate> <title>title2</title> </item>\n"; preg_match_match("/<\s*item\s*>([\S\n]+)<\s*\/\s*item\s*>/i", $rssContent, $matches); Может кто-то поможет как сделать ограничение, чтобы между <item>и </item> не встречалось ни одного </item> ? почта: dok_yura[at]list.ru
dok_yura а-а-а. деточке надо все разжевать... деточка думать не умеет. прочти хоть это для начала: http://php.ru/manual/reference.pcre.pat ... fiers.html это ты используешь i (PCRE_CASELESS) Если этот модификатор используется, символы в шаблоне соответствуют символам как верхнего, так и нижнего регистра этот надо добавить. U (PCRE_UNGREEDY) Этот модификатор инвертирует жадность квантификаторов, таким образом они по умолчанию не жадные. Но становятся жадными, если за ними следует символ '?'. Такая возможность не совместима с Perl. Модификатор U также может использоваться внутри шаблона, при помощи '?U' записи.