Autor | Zpráva | ||
---|---|---|---|
rudla Profil |
#1 · Zasláno: 1. 9. 2012, 19:59:32
Ahoj,
chtěl bych se zeptat, jakým způsobem lze vytáhnout část dat - textu v <body> z odkazu na jinou stránku na cizím serveru. Asi nějak tak, jak to je na sociálních sítích, když sdílím odkaz. Lze něco takového napsat? Děkuju moc za návrhy. |
||
Taps Profil |
#2 · Zasláno: 1. 9. 2012, 21:36:36
rudla:
php - regulární výrazy <? preg_match_all(); preg_match(); ?> |
||
rudla Profil |
#3 · Zasláno: 2. 9. 2012, 00:05:13
Taps:
Dalo by se to nějak upřesnit/doplnit? Nejsem si jist, jak bych to dělal. |
||
Taps Profil |
rudla:
$zdroj=file_get_contents("http://webovastranka.cz"); preg_match_all('~<a href="(.*?)">(.*?)</a>~is', $zdroj, $vystup); print_r($vystup); |
||
rudla Profil |
#5 · Zasláno: 2. 9. 2012, 15:39:16
Taps:
Parse error: syntax error, unexpected T_STRING in ... on line 3 |
||
Taps Profil |
#6 · Zasláno: 2. 9. 2012, 16:20:07
rudla:
chyběl mi tam středník :-) |
||
Keeehi Profil |
#7 · Zasláno: 2. 9. 2012, 23:18:56
Ten regulár nebude moc dobrý, už jenom proto, že v tom odkazu nesmí být napsané nic.
Toto je obecnější: '~<a.+?href=(?:"|\')(.*?)(?:"|\')[^>]*>(.*?)</a>~is' Máš tam fille_get_contents s dvěma L. |
||
rudla Profil |
#8 · Zasláno: 4. 9. 2012, 19:28:23
Taps:
Jo, to funguje, existuje ještě podobný způsob, jak získat titulek stránky? Díky! |
||
Keeehi Profil |
'~<title>(.*?)</title>~is' |
||
Časová prodleva: 3 dny
|
|||
rudla Profil |
#10 · Zasláno: 7. 9. 2012, 17:19:27
Keeehi:
Takže pak už stačí jen dát '~<cokoli>(.*?)</cokoli>~is' Díky Vám. ;) |
||
Keeehi Profil |
#11 · Zasláno: 7. 9. 2012, 21:26:43
rudla:
Ano, ale funguje to jen v případech, kdy tagy nemají atributy. Obecnější by bylo: '~<cokoli.*?>(.*?)</cokoli>~is' Navíc, při určitých konstrukcích ani toto není dokonalé. při aplikaci '~<div.*?>(.*?)</div>~is' na <div><div>ahoj</div></div> je výsledek <div>ahoj což asi není to, co bychom si představovali.
|
||
Časová prodleva: 12 let
|
0