[PHP] eregi_replace

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • r0bert
  • Registratie: September 2001
  • Laatst online: 30-07 02:32
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// Voorbeeld van data:
$strData = 'hier $keyword[1] die moet worden vervangen, net als $keyword[2] en $keyword[3]';

// test1,test2,test3
$strKeywords = $_POST['datastring'];

// Array('test1', 'test2', 'test3')
$arrKeywords = explode(',' $strKeywords);

// '$keyword[1]' moet vervangen worden door 'test1' etc..
foreach ($arrKeywords as $iIndex => $strKeyword)
  $strData  = eregi_replace('\$keyword['.$iIndex.']', $arrKeywords[$iInt], $strData);

// Geeft: 'hier $keyword[1] die moet worden vervangen, net als $keyword[2] en $keyword[3]'


Waarom werkt dit niet :? Er blijft gewoon $keyword[1] etc.. in de string staan :?

edit:
implode veranderd in explode n.a.v. onderstaande reactie :)

[ Voor 28% gewijzigd door r0bert op 10-07-2003 17:11 ]


Acties:
  • 0 Henk 'm!

  • Tjark
  • Registratie: Juni 2000
  • Laatst online: 08:29

Tjark

DON'T PANIC

'\$keyword' != "\$keyword"

blaat

[ Voor 48% gewijzigd door Tjark op 10-07-2003 17:11 ]

*insert signature here


Acties:
  • 0 Henk 'm!

  • r0bert
  • Registratie: September 2001
  • Laatst online: 30-07 02:32
en "\$keyword" != werkend

[ Voor 72% gewijzigd door r0bert op 10-07-2003 16:54 ]


Acties:
  • 0 Henk 'm!

  • Tjark
  • Registratie: Juni 2000
  • Laatst online: 08:29

Tjark

DON'T PANIC

dat was 1, maar
PHP:
1
2
3
4
$arrKeywords = implode(',' $strKeywords); 

// '$keyword[1]' moet vervangen worden door 'test1' etc.. 
foreach ($arrKeywords as $iIndex => $strKeyword)

eerst implode je de zaak tot een string en dan die je er een foreach over alsof het nog een array is.... choeso!


enieweej:

PHP:
1
$strData = eregi_replace('\$keyword\\['.($iIndex+1).'\]', $arrKeywords[$iIndex], $strData);

escape de $, [ en ] in eregs

[ Voor 26% gewijzigd door Tjark op 10-07-2003 17:11 ]

*insert signature here


Acties:
  • 0 Henk 'm!

  • r0bert
  • Registratie: September 2001
  • Laatst online: 30-07 02:32
haha :o Spijt meer heel erg :) Dat had ik niet gezien, staat in mijn eigen scriptje wel goed, dus heb het hier even geedit.. Foutje van mijn kant :X ;)