webForumDet fria alternativet
Logga in / Bli medlem

ereg_replace problem

PHP

3 svar · 210 visningar · startad av Cactuz

Medlem sedan okt. 2001670 inlägg
Trådstart#1
$data[1] = eregi_replace("&([a-zA-Z0-9]+)", $variables[$i]["\\1"], $data[1]);

$i innehålller ett nr värde

&var finns i $data[1] och $variables[0]["var"] finns

Medlem sedan aug. 20002 975 inlägg
#2

Ett alternativ att testa:

function get_val($index) {
   global $variables, $i;
   return $variables[$i][$index];
}

$data[1] = preg_replace("/&([a-z0-9]+)/ie", "get_val('$1')", $data[1]);
Medlem sedan okt. 2001670 inlägg
#3

Det fungerade.

Men nu,

Jag har en sträng t.ex: "hej &var hej"
&var träffas med en replace, men om det står \&var ska den inte träffa.

Medlem sedan aug. 20002 975 inlägg
#4

Okej, prova det här:

$data[1] = preg_replace("/(?<=\\s|^)&([a-z0-9]+)/ie", "get_val('$1')", $data[1]);
258 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
116 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)