webForumDet fria alternativet

Ta bort text ur sträng, om den finns...

PHP

6 svar · 293 visningar · startad av Picklezz

Medlem sedan jan. 2002414 inlägg
Frågan#1

Har en query string som kan se ut hur som helst, det enda jag vet är att jag behöver plocka bort "changelang=1" om den nu finns...

alltså (sida.php och alla querystrings kan se ut hur som helst...kan även stå /?querystrings ibland...)

sida.php?changelang=1
mapp/?changelang=1
sida.php?vadsomhelst=body&changelang=1
mapp/?vadsomhelst=body&changelang=1
sida.php?vadsomhelst=body&changelang=1&nåttannat=test
mapp/?vadsomhelst=body&changelang=1&nåttannat=test

Hoppas ni fattar hur jag menar...alltså "changelang=1" skall bort om den finns med i querystringen

(Antar att det är reguljära-utryck man använder??? Vill gärna lära mig mer om nån vet var man kan göra det...)

Medlem sedan maj 200010 687 inlägg
#2

Vill du ta bort det oavsett vilken siffra som står där?

Medlem sedan jan. 2002414 inlägg
#3

ja...men det kommer nog bara stå 1 till att börja med men ta oavsett vilken siffra...blir bäst så om jag utvidgar det hela...

Medlem sedan jan. 2002414 inlägg
#4

ingen som vet?

Medlem sedan aug. 20002 975 inlägg
#5

Som du själv säger så är det reguljära uttryck som gäller, och det är jag fullständigt kass på. Under tiden du få fram det så kan du använda det här så länge changelang=1:

$text = str_replace("changelang=1", "", $text);

Problemet som kan uppstå är att du då får dubbla && eller ?&. Det går i och för sig också att lösa med str_replace() om det skulle uppstå problem för den sakens skull.

Med andra ord: en nödlösning.

Medlem sedan aug. 2004249 inlägg
#6

Jag har samma problem bara det att 1:an även kan vara 11 (eller annat tvåsiffrigt tal). Hur ska jag göra?

Medlem sedan aug. 20002 975 inlägg
#7

T.ex

$text = preg_replace("/changelang=\d+&?/", "", $text);
261 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)