Autor Zpráva
cheli
Profil
Ahoj, potřeboval bych vědět jak docílim toho, abych získal třeba z textu nebo z celé stránky jen určitou část. Vim jak ověřit výraz, jestli projde vzorkem reg. výrazu, ale u toho taky končim.

Jak tedy získam z otevřené stránky jen určitou část. Třeba nadpisy H1
file_get_contents("www.stranka.cz");
cheli
Profil
nikdo neví? :/
Alphard
Profil
preg_match_all("~<h1>(.+)</h1>~imU", $text, $h1);
cheli
Profil
díky moc, s tim už si snad nějak poradim ;)
cheli
Profil
ještě sem narazil na jednu nelogickou (pro mě) věc:

- při zadání tohohle kódu s textem v proměnné se výsledek vypíše
$text = "<td class='title' colspan='4' height='18'>...</td>";
preg_match_all("~<td class='title' (.*)>(.*)</td>~", $text, $td);
echo $td[0][0];


- ale pokud použiju tenhle s načtením textu z ext. stránky, tak je výsledek false. Přitom zdrojový kód obsahuje stejný kód jako je v $textu nahoře.
$text = file_get_contents ("http://www.stranka.cz");
preg_match_all("~<td class='title' (.*)>(.*)</td>~", $text, $td);
echo $td[0][0];


Pokud použiju jen <td></td> na jinou buňku nebo jiný tag bez stanovení třídy, tak se to také vypíše.
Majkl578
Profil
cheli
hraji roli i veskere mezery, napr. mezera v "class='title' (.*)>" by mohla byt problem, kdyby tag byl uzavren hned za class atributem
ten regular bych napsal takto:
preg_match_all("~<td class='title'[^>]*>(.*?)</td>~i", $text, $matches);


jinak over, zda ti file_get_contents opravdu ziska pozadovana data
cheli
Profil
Majkl578
jinak over, zda ti file_get_contents opravdu ziska pozadovana data

To nevim, ještě s tim nemam dostatek zkušeností. Jen nevím, jak by to šlo udělat líp.

Právě že ten výraz nekončí hned za class='title'. Celý vypadá asi takto:
$text = file_get_contents ("http://www.livescore.com");
// <td class="title" colspan="4" height="18">&nbsp;
<b>World Cup 2009 (Under 20)</b> - Play-Off</td>

To je ten výraz, který bych chtěl z toho vytáhnout. Jsou to zatím pokusy a trénink, tak bych chtěl najít vhodný způsob.
Majkl578
Profil
cheli
fakt tam nevidis rozdil? napriklad uvozovky misto apostrofu u atributu title?
cheli
Profil
už je mi to jasný, ale nevěděl sem, že uvozovky musí bejt taky v souladu se vzorem.
Majkl578
Profil
cheli
vzdyt testujes presnou shodu
taky v obchode kdyz budes chtit jablko, nedostanes hrusku, protoze je to ovoce... :)

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: