webForumDet fria alternativet

explode fast inte

PHPur PHP

3 svar · 326 visningar · startad av drew

Medlem sedan mars 2007845 inlägg
Frågan#1

Jag har en sträng.

Det "här är en" sträng

Jag ska dela upp den i en array. Jag har försökt komma på något smart med explode() men det känns inte som den rätta vägen.

Arrayen ska se ut så här

[0] => 'Det',
[1] => 'här är en',
[2] => 'sträng',

Om citationstecknen från det i mitten kommer med eller inte spelar ingen roll dom kan jag trimma bort sen.

Det ska också kunna vara hur många delar som helst eller bara en. Det är inte säkert att det finns några delar med citationstecken eller så är dom "Det här är en sträng" så det bara blir en sträng i arrayen.

Det jag vill använda är nog preg_match(), men jag kan inte komma på hur.

Någon som vet?

Medlem sedan apr. 2008137 inlägg
#2

Du vill alltså splitta på "? Eller vill du splitta på varje ord, utom när citattecken innesluter dom?
Dvs, om meningen är

Det "här är en" längre sträng

Ska resultatet då bli

[0] => 'Det',
[1] => 'här är en',
[2] => 'längre sträng'

eller

[0] => 'Det',
[1] => 'här är en',
[2] => 'längre',
[3] => 'sträng'

Medlem sedan apr. 2008137 inlägg
#3

Om det är det första alternativet fixar du det enkelt med explode('"', $string).
Om det är det senare alternativet blir det lite klurigare. Tänker inte ge mig på en lösning i onödan.

Medlem sedan mars 2007845 inlägg
#4

Det är det senare alternativet

Det "här är en" längre sträng

ska bli

[0] => 'Det',
[1] => 'här är en',
[2] => 'längre',
[3] => 'sträng'

Jag använder explode(' ', $string); nu. Sånt som är inom citationstecken ska ligga som ett ord i arrayen.

140 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
138 ms — hämta forumlista (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)