[PHP] eregi() geeft niet gewenste resultaat

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik wil een RSS Feed op een site maken. Het binnenhalen en tonen van de gegevens gaat goed. Echter wil ik om de opmaak van mijn pagina goed te houden een gedeelte uit het <DESCRIPTION> stuk van de RSS feed halen. Ik wil alleen de tekst en niet het plaatje dat in de tekst opgenomen is, tonen.

Via een eregi() kan ik het plaatje wel rippen uit de tekst. Dit mits er alleen een plaatje en geen link in de tekst staat. Grofweg doe ik het volgende:

eregi("<img",">",$source,$result);

Nogmaals dit werkt goed als er alleen een plaatje in de tekst staat. Als er ook een link in de tekst voorkomt, dan gaat t echter mis. de afsluitende ">" komt dan meerdere malen voor. Eerst als sluittag voor de <img en daarna nog een keer als sluittag voor <a href. eregi() pakt volgens mij standaard de last occurence, dus ben ik alles tussen <img en de afsluitening van <a href kwijt.

Hoop dat het een beetje deuidelijk is... :?
Ik wil dus dat mijn eregi() na de openingstaf <img de eerste ">" vind en niet de laatste. Is dit te doen??? Of is er een andere oplossing...

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

gebruik liever de PCRE-functies voor reguliere expressies, die bieden veel meer mogelijkheden o.a. voor het kunnen bepalen of een match greedy of ungreedy moet zijn; in jouw geval kan je zoiets gebruiken:
PHP:
1
$string = preg_replace('/<img.*?>/i', '', $string);

Intentionally left blank


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
It works... !!! Thanx