webForumDet fria alternativet

preg_replace

5 svar · 309 visningar · startad av learn

learnMedlem sedan jan. 20051 130 inlägg
#1

Jag vill ta bort en bit av en sträng. Låt säga att strängen ser ut så här "blablabla&text=1&blablabla" och jag vill ha bort "&text=1". För detta fungerar givetvis detta:

$str = "blablabla&text=1&blablabla";
$trimmad = preg_replace("'(&text)(..)'is","",$str);

Men om nu siffran efter "text=" istället är 10, då sparas ju 0:an... Dvs alla siffror som kommer mellan "=" och "&" skall bort.

Hur göra?

PeeerMedlem sedan mars 20025 907 inlägg
#2
$trimmad = preg_replace("'&text=(.*)&'is","",$str);
Hydr0maticMedlem sedan sep. 2001118 inlägg
#3
$trimmad = preg_replace("/&text=\\d*/i","",$str);
learnMedlem sedan jan. 20051 130 inlägg
#4

eh, ok. Vad är det för skillnad på de två olika modellerna? Vilken skall jag välja?

PeeerMedlem sedan mars 20025 907 inlägg
#5

Min variant plockar bort allt som är mellan &text= och & (även de ampersandtecknen (&)). Hydr0matics version plockar bort alla &text= och alla siffror som följs där efter.

Så nu när jag läser din fråga igen bör du nog köra på hydromatics version (alternativt ändra min version till:)

$trimmad = preg_replace("'&text=(.*)&'is","[b]&[/b]",$str);
learnMedlem sedan jan. 20051 130 inlägg
#6

ok tack för hjälpen!

142 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)