Neurotical
Power Member
Viva, tou aqui à rasca para resolver este problema.
Background: Necessito de arrancar uma imagem de um item de uma feed de um blog, infelizmente a internet não é conhecida pelos seus standards por isso não há uma maneira única de a apanhar por isso..
Minha solução: Apanho o xml e passo-o para um objecto xml para poder capturar um item individual (as entries nos feeds dos blogs por norma estão divididas em items) e passar novamente esse item a string onde uma regular expression vai tentar caçar uma imagem.
em pseudo-código
ao que sei tudo funciona até chegar ao "$xml_item_string = simplexml_get_file($item);" nesse momento dá-me
o gajo não consegue transformar em string um objecto do xml? ou tou a falhar alguma coisa aqui?
Background: Necessito de arrancar uma imagem de um item de uma feed de um blog, infelizmente a internet não é conhecida pelos seus standards por isso não há uma maneira única de a apanhar por isso..
Minha solução: Apanho o xml e passo-o para um objecto xml para poder capturar um item individual (as entries nos feeds dos blogs por norma estão divididas em items) e passar novamente esse item a string onde uma regular expression vai tentar caçar uma imagem.
em pseudo-código
Código:
function getfeed($addr){
//cenas no meio para passar autenticações etc
return simplexml_get_string($addr);
}
function getImage($html){
//cenas
$imgsrc_regex = '#<\s*img [^\>]*src\s*=\s*(["\'])(.*?)\1#im';
preg_match($imgsrc_regex, $html, $matches);
return $matches[2];
}
$xml_address = feed_do_blog;
$xml_object = getfeed($xml_address);
foreach($xml_object->item as $item){
$xml_item_string = simplexml_get_file($item);
$image = getImage($xml_item_string);
}
ao que sei tudo funciona até chegar ao "$xml_item_string = simplexml_get_file($item);" nesse momento dá-me
Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity " " in ...
o gajo não consegue transformar em string um objecto do xml? ou tou a falhar alguma coisa aqui?