Multi Regexp – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Multi Regexp – PHP – Fórum – Programujte.comMulti Regexp – PHP – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Figa0
Super člen
20. 3. 2011   #1
-
0
-

Ahoj predem se omlouvam za blby dotaz ale vazne na to nemohu prijit. Mam neco takoveho



preg_match_all('/<td class="carImg" width="(.*)" rowspan="2"> <a href="(.*)" onclick="(.*)" > <img src="(.*)" alt="(.*)" width=".*" height="(.*)"\/> <\/a> <\/td>/',$content, $out);
print_r($out);

Jak prosim ulozim do pole vsechny ty promenne kde je hvezdicka? Predem dekuji za odpoved.

Nahlásit jako SPAM
IP: 90.177.38.–
Reklama
Reklama
marioff0
Expert
21. 3. 2011   #2
-
0
-

ved ich uz mas v poli $out.

resp. mozes pomenovat kluce: (?P<nazov_kluca>.*) a v $out ho potom najdes lahsie: $out['nazov_kluca'];

Nahlásit jako SPAM
IP: 195.78.44.–
Škoda, že život sa nedá "sejvovať", tak že by som po zlom životnom rozhodnutí mohol začať odznova :([br] Lenivosť je matka pokroku.[br][br] http://cut.sk/ - odstrihni si dlhý link
Figa0
Super člen
21. 3. 2011   #3
-
0
-

No prave ze nemam. Vymyslel se tedy priklad.



$content = file_get_contents('http://auto.bazos.cz/bmw/');
$out = array();
preg_match_all('~<span class=nadpis><a href="(.*)">(.*)</a></span>(.*)><br>
<a href="(.*)" class="obrazek" border="0" alt="(.*)"></a><div class=popis>(.*)</div><br><br>
</td>
<td valign=top width="15%"><span class=cena><b>(.*)</b></span></td>
<td valign=top width="15%">(.*)</td>
<td valign=top width="7%">(.*)</td>~',$content,$out);
print_r($out);

Proc nedostanu $out[0] = array() atd? Proste chci dostat pole kde budou pole s jednotlivyma promenyma. Dekuji

Nahlásit jako SPAM
IP: 90.177.38.–
marioff0
Expert
21. 3. 2011   #4
-
0
-
Nahlásit jako SPAM
IP: 195.78.44.–
Škoda, že život sa nedá "sejvovať", tak že by som po zlom životnom rozhodnutí mohol začať odznova :([br] Lenivosť je matka pokroku.[br][br] http://cut.sk/ - odstrihni si dlhý link
Figa0
Super člen
21. 3. 2011   #5
-
0
-

preg_match_all('/<span class=nadpis><a href="(.*)">(.*)<\/a><\/span>(.*)<br>

<a href="(.*)"><img src="(.*)" class="obrazek" border="0" alt="(.*)"><\/a><div class=popis>(.*)<\/div><br><br>
<\/td>
<td valign=top width="15%"><span class=cena><b>(.*)<\/b><\/span><\/td>
<td valign=top width="15%">(.*)<\/td>
<td valign=top width="7%">(.*)<\/td>
<\/tr>/',$content,$out);
var_dump($out)

Uz jsem to toho dostal jeste ale mam jeden problem nevyhovuje to vsem polozkam na strance vybere to treba jen 10 z 15ti. A jediny rozdil co v tech polozakch je tak tam je nejspis \n nebo nejak jinak udelana mezera. Kdyz sem zkusil nahradit vsechny \n prazdnym mistem nevybralo se nic. Stale se v regexp moc nevyznam, ale bude stacit jen nejaka rada co to zpusobuje. Chapu ze mi nebudete psat cely regexp :)

Nahlásit jako SPAM
IP: 90.177.38.–
marioff0
Expert
21. 3. 2011   #6
-
0
-

nedal si tam ten modifikator, pridava sa na uplny koniec patternu '/vyraz/s'

http://sk2.php.net/manual/en/reference.pcre.pattern.modifiers.php

preg_match_all('/<span class=nadpis><a href="(.*)">(.*)<\/a><\/span>(.*)<br> 

<a href="(.*)"><img src="(.*)" class="obrazek" border="0" alt="(.*)"><\/a><div class=popis>(.*)<\/div><br><br>
<\/td>
<td valign=top width="15%"><span class=cena><b>(.*)<\/b><\/span><\/td>
<td valign=top width="15%">(.*)<\/td>
<td valign=top width="7%">(.*)<\/td>
<\/tr>/s',$content,$out);
var_dump($out);

Nahlásit jako SPAM
IP: 195.78.44.–
Škoda, že život sa nedá "sejvovať", tak že by som po zlom životnom rozhodnutí mohol začať odznova :([br] Lenivosť je matka pokroku.[br][br] http://cut.sk/ - odstrihni si dlhý link
Figa0
Super člen
21. 3. 2011   #7
-
0
-

Děkuji za trpělivost. :) Dal, potom dostanu prázdné pole.

Nahlásit jako SPAM
IP: 90.177.38.–
marioff0
Expert
22. 3. 2011   #8
-
0
-

preg_match_all('~<tr><td width="63%">.*<span class=nadpis><a href="(?P<odkaz>.*)">(.*)<\/a><\/span>.*<img src="(?P<foto>.*)" class="obrazek" border="0" alt=".*">.*<div class=popis>(?P<popis>.*)</div>.*<td valign=top width="15%"><span class=cena><b>(?P<cena>.*)</b></span></td>.*<td valign=top width="15%">(?P<mesto>.*)<br>(?P<psc>.*)</td>.*<td valign=top width="7%">(?P<pocet>.*)</td>.*</tr>~sU',$content,$out);


data najdes pod klucmi: odkaz, foto, popis, cena, mesto, psc, pocet

Nahlásit jako SPAM
IP: 195.78.44.–
Škoda, že život sa nedá "sejvovať", tak že by som po zlom životnom rozhodnutí mohol začať odznova :([br] Lenivosť je matka pokroku.[br][br] http://cut.sk/ - odstrihni si dlhý link
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 45 hostů

Podobná vlákna

Regexp — založil Figa

Problem - REGEXP — založil Kcko__

Regexp pro IBAN — založil Naemos

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý