Autor Zpráva
Mef
Profil *
Dobrý večer,
mám tento html kód
<td><strong>Číslo:</strong></td>
				<td align="right">2695</td>


a tento php kód, pro vytažení toho čílsla
<?

$html = file_get_contents('stranka.html');

preg_match_all("/Číslo:<\/strong><\/td><td align=\"right\">(.*)<\/td>/Us", $html, $vystup);

foreach ($vystup[1] as $v) {
  echo $v."<br>";
}


?>


...avšak toto nic nevypíše.
Pokud však zkusím tento výraz
preg_match_all("/slo:<\/strong><\/td>(.*)<\/td>/Us", $html, $vystup);

tak vypíše (logicky)
				<td align="right">2695<br>


...avšak výraz
preg_match_all("/slo:<\/strong><\/td><td align=\"right\">(.*)<\/td>/Us", $html, $vystup);

opět nevypíše nic.


Odhaduji že je zde problém tedy s diakritikou a navíc ještě zřejmě s bílými(?) znaky??

Mohl by mi někdo prosím poradit?

Předem děkuji
nightfish
Profil
zkus ten poslední upravit na
preg_match_all("/slo:<\/strong><\/td>\s+<td align=\"right\">(.*)<\/td>/Us", $html, $vystup);


s diakritikou bude problém pouze v případě, že znaková sada regulárního výrazu nebude odpovídat znakové sadě zpracovávaných dat
Mef
Profil *
Díky, funguje.

Můžu se ještě zeptat jakým způsobem se nastavuje u regulárních výrazů znaková sada?
Zpracovávaná data jsou v UTF-8.
nightfish
Profil
nenastavuje se... musíš zajistit, aby znaková sada regulárního výrazu odpovídala znakové sadě zpracovávaných dat
například pokud budeš mít skript v utf-8 a vstupní data (například z databáze nebo ze souboru) ve windows-1250, tak nejdřív budeš muset ta data překódovat do utf-8 (např. pomocí funkce iconv)
pokud budeš mít skript ve windows-1250 a data v utf-8, tak musíš data překódovat z utf-8 do windows-1250

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: