Autor Zpráva
Radovan789
Profil *
Zdravím,

mám tento kód:
$sourcestring="<table><tr><td>1</td></tr><tr><td>2</td></tr><tr><td>3</td></tr><tr><td>4</td></tr></table>";
preg_match_all('/<tr>(.*)<\/tr>/',$sourcestring,$matches);
echo print_r($matches,true);

Rád bych získal všechny hodnoty mezi <tr> a </tr>, takže v array by bylo: <td>1</td>, <td>2</td>, <td>3</td>, <td>4</td>
Problém je vtom že regulární výraz to nedělá podle mých představ, vezme první <tr> a poslední </tr> a vypíše jeho obsah.

Rád bych se zeptal jestli je možné pomocí nějakého modifikátoru upravit tento regulární výraz aby to fungovalo tak jak jsem psal

Děkuji za všechny rady.
Someone
Profil
'/<tr>(.*?)<\/tr>/'
Nebylo by lepší to řešit přes DOM?
Radovan789
Profil *
Someone:
Děkuji, hned to jede tak jak má. Jen nechápu ten zápis.. Jakýkoliv znak opakovat 0x až nekonečno a pak opakovat 0x až 1x.


Someone:
A co se týče DOMu tak jsem zatím s DOM Parserem nepracoval, regulární výrazy jsou mě bližší.
Someone
Profil
Přečti si odstavec pod tabulkou kvantifikátorů: http://www.regularnivyrazy.info/regularni-vyrazy-zaklady.html

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: