Как извлечь ссылки со страницы?

Статус
В этой теме нельзя размещать новые ответы.

kaspruk

Постоялец
Регистрация
8 Янв 2007
Сообщения
61
Реакции
28
1 Извлекаю ссылки таким кодом:
PHP:
preg_match_all("/<a.*?href=\"(http:\/\/.*?)\".*?>.*?<\/a>/i",$text,$result);
но он склеивает несколько ссылок подряд!
2 Хочу прописать в выражении, что бы нашло все, кроме определенной фразы, но не знаю как. Нашел лишь для символа [^h]* - найдет фразу, где нет букви h!
3 И вообще где можно найти хорошую книгу по регулярным выражениям, желательно с примерами!
 
Не совсем понял вопрос...То что не нужно находить - просто не запоминаешь в переменных ?:
вот хорошая статья по регулярным - очень толково написана.
Для просмотра ссылки Войди или Зарегистрируйся
 
Например, должен брать ссылки, вида Для просмотра ссылки Войди или Зарегистрируйся Он это и делает, но при просмотре полного кода, он выдает не одну ссылку, а несколько.
Например: должно быть
PHP:
<a href="http://link1.ru/">Сcылка</a>
и
<a href="http://link2.ru/">Сcылка2</a>
а выдает, иногда, по две:
PHP:
<a href="http://link1.ru/">Сcылка</a><другой html код><a href="http://link2.ru/">Сcылка2</a>
Я читал, что это "жадные" выражения.
 
/U - в конце регулярки убирает "жадность"
 
попробуй

<a.*?href=\"?'?([^ \"'>]+)\"?'?.*?>(.*?)</a>
 
Буду пробовать. А одиночных кавычек нету, так как я их убираю с переменной до вызова регулярных выражений :)
А вот ссылочку на книгу никто не хочет дать!
 
Буду пробовать. А одиночных кавычек нету, так как я их убираю с переменной до вызова регулярных выражений :)
А вот ссылочку на книгу никто не хочет дать!

в свое время данная книга помогла понять регулярки :)
впринципе что перл что пхп принцип одинаков

Дж. Фридл
Регулярные выражения, 2-е изд.
Страниц: 464
Для просмотра ссылки Войди или Зарегистрируйся
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху