Preg_replace hjælp

Tags:    php

Hej

Jeg har havde nogle fejl på min side fordi jeg ikke brugte ' når jeg hentede arrays ( $array['hej] ).
Det rettede jeg på alle siderne med preg_replace funktionen.. Problemet er nu bare at der også er blevet sat ' tegn på arrays i mysql kald, og det giver jo fejl.

Så jeg vil gerne have hjælp til at lave en preg_replace funktion der finder arrays i mysql_query funktioner og laver dem om så der står mysql_query("dsafs".$array['hej']."sdas) .

Jeg har prøvet med preg_replace("/mysql_query\\(\\"(.+?)\\$(.+?)[(.+?)]\\"\\)/", "mysql_query(\\"$1\\"\\$$2[$3]\\")", $txt);
men det virker ikke.



4 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Fra:
mysql_query("SELECT COUNT(*) AS hejehj FROM hejehj WHERE heeeej = 'fafafssfs' AND Dato > '$array['Dato']'");

Til:
mysql_query("SELECT COUNT(*) AS hejehj FROM hejehj WHERE heeeej = 'fafafssfs' AND Dato > '".$array[''Dato'']."'");

Med:
preg_replace('/\\'\\$array\\[(.*)\\]\\'/','\\'".$array[\\'$1\\']."\\'',$st);



tror det er nemmere hvis vi har et udgangspunkt som skal blive til noget andet.
Jeg kan i hvert fald ikke forestille mig, hvad det er der skal matches på... :)

Og ellers må du jo i gang med det manuelle arbejde. :)
Husk at tage backup til næste gang... ;)



Eksempel:
mysql_query("SELECT COUNT(*) AS hejehj FROM hejehj WHERE heeeej = 'fafafssfs' AND Dato > '$array['Dato']'");

Skal blive til:
mysql_query("SELECT COUNT(*) AS hejehj FROM hejehj WHERE heeeej = 'fafafssfs' AND Dato > ".'$array['Dato']'."");



Indlæg senest redigeret d. 23.05.2007 22:07 af Bruger #5812
Mange tak :) det virkede med nogle få ændringer.



t