Autor Zpráva
benett
Profil
Potřebuji na různých webech získat URL galerií.
Pokud text odkazu obsahuje slovo "galerie", chci získat obsah atributu href. Uvnitř toho odkazu může být i obrázek, takže v podstatě hledám něco jako
<a href="....">----galerie-----</a>
. Podmínka je, že to je nejbližší předcházející tag A. Jakým způsobem je nejlepší to udělat? Regulární výraz by v tomto případě asi byl dost složitý.
Majkl578
Profil
benett:
Regulární výraz by v tomto případě asi byl dost složitý.
Nemyslím si, co něco takového?
$data = '<a href="http://example.com">----galerie-----</a>
<a href="http://example.com/x">----wdefrgt-----</a>
<a href="http://example.com/x"><img src="foo" title="galerie"></a>
<a href="http://example.com/y">----swefrgthz-----</a>';

preg_match_all('~<a href="(.+)"[^>]*>.*galerie.*</a>~Uis', $data, $matches);

var_dump($matches[1]);
benett
Profil
Díky, to vypadá dobře, ale ještě musím upřesnit, že mě zajímá pouze text odkazu a jiné tagy (třeba IMG byť s textem "galerie") uvnitř toho odkazu chci ignorovat.
Tori
Profil
benett:
Použijte strip_tags na nalezené řetězce.

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:

0