webForumDet fria alternativet

Ersätt mellanslag inom citationstecken

PHP

4 svar · 580 visningar · startad av M@rtin

Medlem sedan dec. 19992 085 inlägg
Frågan#1

Jag har en lång sträng som kan se ut ungefär så här:

ord1 ord2 ord3 "ord4 ord5" ord6 "ord7 ord8 ord9 ord10" ord11 ord12

o.s.v.

Jag skulle vilja ersätta mellanslagen inom citationstecken med underscore så att resultatet blir

ord1 ord2 ord3 ord4_ord5 ord6 ord7_ord8_ord9_ord10 ord11 ord12

Finns det något smart sätt att göra det på? Använder php.

Medlem sedan juni 20031 837 inlägg
#2

något i den här stilen

preg_replace("/\"([^\" ]+) ([^\" ]+)\"/", "$1_$2", $str);
Medlem sedan aug. 20002 975 inlägg
#3

Eller

preg_replace('/"(.*?)"/e', "str_replace(' ', '_', '$1')", $str);
Medlem sedan dec. 19992 085 inlägg
#4

Funkade perfekt, tackar!

Medlem sedan aug. 20039 340 inlägg
#5

Flyttat från Regular Expressions på grund av att provtiden för forumet har gått ut

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