<a class="Page" href="index.php?pg=1">1</a><span class="PageSep"> · </span><a class="Page" href="index.php?pg=2">2</a>
Необходимо из нее выбрать только url'ы
сейчас пытаюсь использовать такое выражение:
preg_match_all("^<a class=\"Page\" href=\"(.*)\">(.*)</a>^",$string,$matches);
но в итоговом массиве получается вся строка. Может пожалуйста кто-то помочь разобраться.
Спасибо
Спустя 7 минут, 26 секунд (27.04.2010 - 21:49) ApuktaChehov написал(а):
В регулярных выражениях слаб, но по моему можно так:
Если я правильно понял задачу.
'/<a.+<\/a>/i'
Если я правильно понял задачу.
Спустя 3 минуты, 53 секунды (27.04.2010 - 21:53) Winston написал(а):
А так ?
Да сорри.
preg_match_all ("/(<a [^>]>\w+<\/[^>]>)/i", $string, $matches);
Да сорри.
Спустя 1 минута, 8 секунд (27.04.2010 - 21:54) ApuktaChehov написал(а):
Цитата (PHPprogramer @ 27.04.2010 - 21:53) |
А так ?preg_match_all ("/^(<a[^>]>\w+<\/[^>]>)$/i", $string, $matches); |
А если ссылка не в начале строки? И ею строка не кончается?
Спустя 4 минуты, 50 секунд (27.04.2010 - 21:59) daemon2010 написал(а):
Цитата (ApuktaChehov @ 27.04.2010 - 18:49) |
В регулярных выражениях слаб, но по моему можно так:'/<a.+<\/a>/i' Если я правильно понял задачу. |
Спасибо но мне необходимо выбирать только адреса из href, а ваше выражение точно также как и мое выхватывает строку полностью от начально тега <a> и до последнего, то есть в итоговом массиве получается вся входящая строка.
Спустя 2 минуты, 8 секунд (27.04.2010 - 22:01) Winston написал(а):
А так ?
preg_match_all ("/\bhref=\"(.*)\"/i", $string, $matches);
Спустя 7 минут, 6 секунд (27.04.2010 - 22:08) daemon2010 написал(а):
Цитата (PHPprogramer @ 27.04.2010 - 19:01) |
А так ?preg_match_all ("/\bhref=\"(.*)\"/i", $string, $matches); |
Полный код скриптика:
$html ='<a class="Page" href="index.php?pg=1">1</a><span class="PageSep"> · </span><a class="Page" href="index.php?pg=2">2</a>';
if(preg_match_all("/\bhref=\"(.*)\"\b/i",$html,$data)){
echo '<pre>';
print_r($data);
echo '</pre>';
Спустя 13 минут, 45 секунд (27.04.2010 - 22:22) daemon2010 написал(а):
Все проблема снимается, разобрался. Добавил знаки вопроса в изначальное регулярное выражение и все заработало как надо:
^<a class="Page" href="(.*?)">(.*?)</a>^