Autor Zpráva
rexi
Profil *
Krásný programovací večer,

Potřeboval bych vypsat všechny url, které se nachazí v <a href=" ... " ze získaného zdrojového kódu.

Jelikož nejsem žádný expert v regulárních výrazech tak mě to dělá problém.

Můj výsledek snažení vypadá takto:
preg_match_all('~\<a(.*)href="(.*)"~', $this->stranka, $matches);
		var_dump($matches);


bohužel to nedělá to co chci, výsledek obsahuje i prapodivné řetězce.

Budu rád za každou radu, díky všem. :)
rexi
Profil *
pracuje ten zvýrazňovač syntaxe korektně? Jelikož
$this->stranka
výše interpretuje dvoubarevně.
Joker
Profil
rexi:
výsledek obsahuje i prapodivné řetězce.
Jestli to funguje tak, že v následujícím ten výraz vybere označenou část (edit- opraven rozsah označení):
před <a href="něco">nějaký kód a ještě nějaký další kód <a href="dalšíodkaz"> pokračování

mělo by pomoci udělat tu první část línou a v druhé části vyloučit uvozovky:
'~\<a(.*?)href="([^"]*)"~'
Majkl578
Profil
Nebo použít modifilátor U.
preg_match_all('~<a.*href="(.*)".*>~U', 'před <a href="něco">nějaký kód a ještě nějaký další kód <a href="dalšíodkaz"> pokračování', $matches);
var_dump($matches);
rexi
Profil *
Vyzkoušel jsem řešení od Majkl578 a funguje paradně.

Díky všem.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: