webForumDet fria alternativet

hämta info från databas till preg_replace

PHP

3 svar · 225 visningar · startad av Qonos

Medlem sedan sep. 2000438 inlägg
Frågan#1

jag har en

"/\[user=(.*?)]/is",

där man t.ex. skall skriva

[user=qonos]

och så vill jag att den skall gå in i databasen och hämta qonos unika id, så jag kan använda det i en länk som skall skapas till den personens presentation.

jag vet att jag är helt fel ute för det verkar inte vilja gå att göra som jag vill, men jag lät koden vara kvar iaf så att ni kanske lättare ser hur jag hade tänkt mig

bifogar koden i en fil eftersom den inte blev som jag ville när jag kopiera in den här....

Medlem sedan aug. 20002 975 inlägg
#2

Testa med:

	$pattern = array (
	    "/\[line]/is",
	    "/\[user=(.*?)]/ise"
	);

	$replace = array (
	   "<hr color=\"black\" style=\"height:1px;\" noshade>",
	   "getUserid('$1')"
	);
Medlem sedan sep. 2000438 inlägg
#3

Ahh ett litet e på slutet kan fixa så mycket :) tackar

btw, vad betyder e på slutet där i/ise ??

Medlem sedan aug. 20002 975 inlägg
#4

Det betyder att det du har i replace-delen ska parsas genom PHP-tolken.
Du ska alltså ersätta med tecknen 'getUserid', utan du vill köra funktionen getUserid().

e
If this modifier is set, preg_replace() does normal substitution of backreferences in the replacement string, evaluates it as PHP code, and uses the result for replacing the search string. Single and double quotes are escaped by backslashes in substituted backreferences.

Only preg_replace() uses this modifier; it is ignored by other PCRE functions.

http://se2.php.net/manual/en/reference.pcre.pattern.modifiers.php

257 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)