webForumDet fria alternativet

preg_replace

PHP

5 svar · 309 visningar · startad av learn

Medlem sedan jan. 20051 130 inlägg
Frågan#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?

Medlem sedan mars 20025 907 inlägg
#2
$trimmad = preg_replace("'&text=(.*)&'is","",$str);
Medlem sedan sep. 2001118 inlägg
#3
$trimmad = preg_replace("/&text=\\d*/i","",$str);
Medlem 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?

Medlem 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);
Medlem sedan jan. 20051 130 inlägg
#6

ok tack för hjälpen!

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