preg_match array probleem

Pagina: 1
Acties:

  • tombo_inc
  • Registratie: December 2004
  • Laatst online: 10-03 13:21
best mensen,
ik ben bezig met een script dat bepaalde tekens in een string vervangt door andere tekens. nu heb ik een associatieve array met vervangende tekens, en ik haal met pattern de naam voor het arrayveld op uit de te vervangen stringdelen. maar nu is het probleem dat ik de verwijzing naar een subpatroon niet werkend krijg in de verwijzing naar de array.
dit is wat ik heb:
code:
1
2
3
4
5
6
7
<?php
$string = '<blaat> dit is een <test>';
$values[blaat] =  'hallo';
$values[test] = 'testtest';

$strparsed = preg_replace("/<(.+?)>/i","".$values['\\1']."",$string);//dit werkt dus niet. hij pakt die \\1 niet als het subpatroon nummer 1.
?>

weet iemand hoe ik dit op kan lossen?

Microsoft Windows: A thirty-two bit extension and graphical shell to a sixteen-bit patch to an eight-bit operating system originally coded for a four-bit microprocessor which was written by a two-bit company that can't stand one bit of competition


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Om te beginnen snap ik niet dat je voor en achter je array een lege string plakt. En verder moet je eens kijken naar de functie preg_replace_callback. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • tombo_inc
  • Registratie: December 2004
  • Laatst online: 10-03 13:21
aha, dus als ik het goed begrijp roep je in die functie een eigen functie aan die de replace op zich neemt. je geeft de matches en subpatronen mee (want het gaat bji mij om die subpatronen) aan je eigen functie, returned de nieuwe string.

Microsoft Windows: A thirty-two bit extension and graphical shell to a sixteen-bit patch to an eight-bit operating system originally coded for a four-bit microprocessor which was written by a two-bit company that can't stand one bit of competition