Ingewikkeld replace-probleem

Pagina: 1
Acties:

  • Thijs
  • Registratie: April 2000
  • Laatst online: 20:50
Hoi, ik heb een nog moeilijk probleem. Het is als volgt:

Ik heb een hele grote string met een stuk of 200 verschillende links erin (dus: <a href="link">link</a><a href="link2">link2</a><a href="link3">link3</a><a href="link4">link4</a>... etc).

Nu wil ik de URLs waar deze links naar verwijzen dus 'editen'. Probleem is dat dit op een hele ingewikkelde manier moet gebeuren (vraag me niet waarom, maar het is nou eenmaal zo).

Stel, een link ziet er zo uit:

http://www.domein.nl/images/icons/bestand.jpg

Dan wil ik hiervan maken: scriptje.php?var1=www.domein.nl&var2=images&var3=icons&var4=bestand.jpg

Probleem is dat het aantal 'dirs' dus steeds anders is en het aantal vars dus ook verandert. Ik heb nu een preg_replace functie gemaakt die de eerste stap al doet (er is sowieso altijd 1 var), maar nu wil dus maken dat als er meer dan 2 slashes in voorkomen, hij een extra var aanmaakt zeg maar.

Dit kan dus met die preg_replace, alleen hoe? Ik heb nu ...href=\"(.*)\"... staan en dat wordt dus opgeslagen in $1. Ik heb ook geklooid met die conditions die op PHP.net staan, maar het werkt voor geen fuck bij mij. Kan iemand mij een stapje verder helpen? Dat als er 2 of meer slashes in staan dat er dan een extra variabele wordt aangemaakt? Jullie zouden mij en een hoop anderen daar erg blij mee maken :)

[ Voor 7% gewijzigd door Thijs op 06-02-2003 13:32 ]


  • tomato
  • Registratie: November 1999
  • Niet online
Kijk eens naar de /e modifier.

  • Thijs
  • Registratie: April 2000
  • Laatst online: 20:50
Ik ben weer wat verder... hij doet het eigenlijk nu perfect, op 1 dingetje na. In sommige URL's zitten BACKSLASHES. En deze werken niet voor een parentheses oid. Dus als ik dit doe:

_\\(.*)\\_iU

Dan pakt ie dat niet, dan zegt ie:

Warning: Compilation failed: unmatched parentheses at bla bla

Iemand weet hoe je dat wel kan laten werken?

[ Voor 9% gewijzigd door Thijs op 06-02-2003 14:50 ]