webForumDet fria alternativet

explode fast inte

3 svar · 326 visningar · startad av drew

drewMedlem sedan mars 2007748 inlägg
#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?

effataMedlem sedan apr. 2008141 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'

effataMedlem sedan apr. 2008141 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.

drewMedlem sedan mars 2007748 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.

Genererad på 387 ms · cache AV · v20260730165559-full.f96bc7eb