| Autor | Zpráva | ||
|---|---|---|---|
| davchy Profil |
Ahoj,
jako vždy předcházelo položení dotazu hledání informací a testování, ale kýženého výsledku jsem nedosáhl. Došel jsem k použití regulárních výrazů, ale to mě začala má lysá hlava obrůstat, aby se mi tam mělo co hrůzou stavět. Následujícím kódem získávám z externího webu odkaz obrázku: <?php
$ID = 1839032 //$_REQUEST['ID'];
$html = file_get_contents("http://farmerama.bigpoint.com/?action=externalGarden&uid=$ID");
preg_match("#<img name=\"bgImage\" id=\"bgImage\" src=\"(.*)\" border=\"0\" width=\"696\" height=\"414\">#i", $html, $match);
$img = $match[1];
echo $img; //http://fa-usr-strg.bpcdn.net/gp/0/18/15/1839032_1305568168.jpg
$imgid1 = "1839032" //tento řetězec potřebuji získat z $img
$imgid2 = "1305568168" //tento řetězec potřebuji získat z $img
?>Můžete mi prosím někdo napsat regulární výraz pro plnění $imgid1 a $imgid2? Mockrát děkuji. Moderátor Joker: Titulek „Regulární výrazy?“ nevystihuje podstatu dotazu. Příště zkus prosím vymyslet lepší.
|
||
| nikdo Profil * |
#2 · Zasláno: 29. 8. 2011, 16:42:35
<?php
$ID = 1839032; //$_REQUEST['ID'];
$html = file_get_contents("http://farmerama.bigpoint.com/?action=externalGarden&uid=$ID");
preg_match("#<img name=\"bgImage\" id=\"bgImage\" src=\"(.*)\" border=\"0\" width=\"696\" height=\"414\">#i", $html, $match);
echo $img; //http://fa-usr-strg.bpcdn.net/gp/0/18/15/1839032_1305568168.jpg
preg_match("#\_([0-9]*)\.jpg#i", $match[1], $vystup);
$imgid1 = $ID; //tento řetězec potřebuji získat z $img
$imgid2 = $vystup1; //tento řetězec potřebuji získat z $img
?> |
||
| Joker Profil |
#3 · Zasláno: 29. 8. 2011, 16:43:10
davchy:
Takže jde o to získat název souboru a pak část před podtržítkem a za podtržítkem? Název souboru by měla být část mezi posledním lomítkem a poslední tečkou, substr+strpos. Pokud adresa obrázku bude jinak stejná, šlo by to ještě zjednodušit. No a pak stačí expolode podtržítkem a je to. |
||
| davchy Profil |
#4 · Zasláno: 29. 8. 2011, 17:04:21
Mockrát všem děkuji, hned první řešení bylo to čeho jsem potřeboval dosáhnout. Jen kdyby to někdo potřeboval, tak u $imgid2 byla malinkatá chybka, kolem 1 doplnit hranaté závorky, tedy
$imgid2 = $vystup[1]; //tento řetězec potřebuji získat z $img |
||
|
Časová prodleva: 14 let
|
|||
0