Регулярка для всех видов ссылок
Продолжаю учить пхп, дошел до регулярок и там такое задание - получите все ссылки и анкоры из примера
Мой код
В итоге анкоры все правильно вытащил, а ссылки уже второй день не могу все корректно без мусора вытащить. Подскажите плиз идеальную регулярку?
Мой код
Цитата:
$re = '~<a(.*)href(.*)=(.+)([^\"]*)>(.*)<\/a>~m'; $str = '<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>парсинг</title> <link rel="stylesheet" type="text/css" href="css/styles.css"> <script src="/js/scripts.js"></script> </head> <body> <a class="www" href=\\\'test1.php\\\' > ссылка 1</a> <a href=\\\'test2.php\\\' class="www"> ссылка 2</a> <p>Это абзац!</p> <a href = "test3.php" >ссылка 3</a> <p> <a id="test" href="http://site.ru/test4.php">ссылка 4 </a> </p> <p class="www">Это <b>абзац!</b></p> <a href="test5.php">ссылка 5 </a> <a href="test6.php" class = "www" >с сы лка 6</a> </body> </html>'; preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0); // Print the entire match result var_dump($matches); |