[PHP] Simplepie output probleem

Pagina: 1
Acties:

Onderwerpen


Verwijderd

Topicstarter
Ik heb een website gemaakt in Code Igniter. Deze website maakt gebruik van de Simplepie library i.c.m. de Flickr library voor CI. Beide geschreven door Elliot Haughin en hier te downloaden: http://www.haughin.com/code/simplepie/ / http://www.haughin.com/code/flickr/

So far so good. Toen de website op het dev domein draaide was alles in orde. Simplepie las mijn RSS-feed uit, filterde netjes de images uit de output van RSS en gaf deze weer op de website. Dev domein, zie: http://www.vormdigitaal.nl/stoorzender (bijvoorbeeld de 3 images in de footer).

Nu heb ik de site verhuisd naar het domein www.stoorzenderevents.nl, met exact dezelfde code, flickrid etc. maar de images worden niet getoond. Na wat debugging ben ik er achter gekomen dat op het live domein de '<' en '>' uit de RSS-feed (http://api.flickr.com/ser...s=algemeen&format=rss_200) op de een of andere manier gestript worden.

Een '<img>' wordt weergegeven als 'img', wat er vervolgens voor zorgt dat de volgende regular expression uit de Flickr lib failed:

PHP:
1
2
3
4
if ( preg_match('<img src="([^"]*)" [^/]*/>', $item->get_description(), $imgUrlMatches) )
{
[...]
}


Dit zorgt er uiteraard weer voor dat mijn images niet gefilterd en dus niet getoond worden.

Wat kan ik hier aan doen? Is het een serverinstelling waar het fout gaat?
Op het gebied van code zijn beide domeinen gelijk aan elkaar :?

[ Voor 1% gewijzigd door Verwijderd op 10-09-2009 19:54 . Reden: taalfoutjes ]


Verwijderd

Topicstarter
Nog even een debug output:

live domein
code:
1
2
string(300) "pa href=http://www.flickr.com/people/stoorzender/Stoorzender Events/a posted a photo:/p
pa href=http://www.flickr.com/photos/stoorzender/3864151795/ title=pas op blik op de wegimg src=http://farm3.static.flickr.com/2669/3864151795_9c66dc10a7_m.jpg width=239 height=240 alt=pas op blik op de weg //a/p"


dev domein
code:
1
2
string(332) "<p><a href="http://www.flickr.com/people/stoorzender/">Stoorzender Events</a> posted a photo:</p>
<p><a href="http://www.flickr.com/photos/stoorzender/3864151795/" title="pas op blik op de weg"><img src="http://farm3.static.flickr.com/2669/3864151795_9c66dc10a7_m.jpg" width="239" height="240" alt="pas op blik op de weg" /></a></p>"

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Dat is in ieder geval geen strip_tags, want die zou ook de 'p' en 'a' niet laten staan. Het lijkt op een str_replace van < en >, en het is toch echt aan jou om in je code te kijken waar dat gebeurt :)

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Verwijderd

Topicstarter
Het zijn niet alleen de < en > die worden gestript, ook de quotes worden weg gelaten. Ik kan wel in de code duiken, maar dat zijn 1) enkele duizenden regels en 2) waarschijnlijk een fout die niet in de code te zoeken is, dan wel ergens anders, aangezien het dev domein wel gewoon werkt.

Neemt niet weg dat ik al het nodige geprobeerd heb binnen de library, tot nu toe zonder succes :(

Edit: een simpele Google search lijkt soortgelijk gedrag op andere websites te vertonen:
http://www.google.nl/sear...f%3D%22&btnG=Zoeken&meta=

[ Voor 22% gewijzigd door Verwijderd op 10-09-2009 20:08 ]


Verwijderd

Tja, dat wordt debuggen, breakpoints zetten, belangrijke dingen loggen, etc., etc.
Welkom in de wondere wereld van development. ;)

  • Cartman!
  • Registratie: April 2000
  • Niet online
magicquotes achtige settings :? Zou niet echt verklaren waarom de <> ook weg zouden zijn alleen. Verder: wat Afterlife zegt ;)

  • orf
  • Registratie: Augustus 2005
  • Laatst online: 21:53

orf

Test anders eerst even wat je ziet als je bijvoorbeeld dit in een php bestand zet:

PHP:
1
2
3
4
5
<?php 

echo file_get_contents('http://www.google.nl');

?>


Het kan goed zijn dat er een Apache module geladen is op de productieserver die aan filtering doet (bijvoorbeeld mod_filter). Als met het bovenstaande scriptje er ook gestript wordt in output, dan ligt het niet aan je PHP code.

Acties:
  • 0 Henk 'm!

  • Kalentum
  • Registratie: Juni 2004
  • Laatst online: 22:00
Als je die Google query uitbreidt met 'simplepie' (http://www.google.nl/search?q=%22pa+href%3D%22+simplepie) dan valt op dat er een heleboel PHP warnings worden gegenereerd vanuit Simplepie die met caching te maken hebben. Zit daar een verschil in? Werkt caching op je productieserver?
Pagina: 1