Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Извлечь из строки


Автор: m1kle 24.6.2008, 23:04
Функция ereg_replace() заменяет фрагмент строки по указанному шаблону другой строкой, а как извлечь что-либо по указанному шаблону?

Например я хочу извлечь текст, который находится между '<img src=" ' и ' "> '

Как это реализовать?

Автор: Feldmarschall 24.6.2008, 23:07
Учимся работать с документацией:
В конце описания любой функции есть раздел "См. также", в котором перечислены функции, выполняющие подобные операции.

Автор: m1kle 25.6.2008, 04:09
 See also ereg(), eregi(), eregi_replace(), str_replace(), and preg_match(). 

Это всё не то, что мне нужно.

Автор: skyboy 25.6.2008, 09:48
конечно, конечно.
значит, ereg, eregi и preg_match делают совсем другое. что-то неизведанное. не извлекают части согласно шаблона.
перечитай статьи в документации по указанным функциям. не посмотри на первую строку, а именно прочитай. ладно?

Автор: m1kle 25.6.2008, 15:27
skyboy, А, я понял, извлекает, с помощью переменной $regs, прошу прощения, просто книге, которую я смотрел "PHP для чайников" ничего об этом нет, нашёл на php.ru

Автор: bobik02 25.6.2008, 16:52
m1kle, Попробуйте взять другую книгу,статью,мануал. Ознакомтесь пожалуйста с синтаксисом регулярных выражений (желательно 
PCRE, хотя при желании можно и POSIX).

Автор: m1kle 26.6.2008, 00:07
С синтаксисом ознакамливаюсь. Появился вопрос, если у меня есть не одна строка, которая соответствует моему шаблону, как мне вытащить все?

Автор: NAS 26.6.2008, 00:26
в функции ereg() есть три параметра последний необизателний ето масив в которий записиваются результати....

Автор: m1kle 26.6.2008, 00:33
NAS, туда записываются результаты из скобок, то что было в первых скобках "(...)", то записывается в первый массив, а у меня много однотипных строк.

Например я хочу извлечь все ссылки с сайта, а там их много, как мне извлечь их все?

Автор: Feldmarschall 26.6.2008, 00:35
Учимся работать с документацией:
В конце описания любой функции есть раздел "См. также", в котором перечислены функции, выполняющие подобные операции.

Автор: m1kle 26.6.2008, 00:54
Feldmarschall, Спасибо. Разобрался. Мне была нужна функция preg_match_all smile всё заработало.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)