Just nu i M3-nätverket
Gå till innehåll
adji

bryta ut ord och citat från en sträng

Rekommendera Poster

adji

hej, har ett litet problem som har gett mig huvudbry ett par dagar nu,

jag behöver bryta ut ord och citat ur en sträng till en array

 

Att få ut varje ord är ju enkelt:

$[color="#0000ff"]string[/color] 'hej hej "hallå tjena" mors';
$[color="#0000ff"]array[/color] = [color="#ff0000"]explode[/color](" ",$[color="#0000ff"]string[/color]);

[color="#006400"]/[/color]* ger
[color="#0000ff"]array[/color] (0=>hej, 1=>hej, 2=>"hallå, 3=>tjena", 4=>mors)
*/

 

Problemet kommer i citaten, jag vill att varje citat skall behandlas som "ett ord" och ge följande resultat:

[color="#0000ff"]array[/color] (0=>hej, 1=>hej, 2=>hallå tjena, 3=>mors)

 

Jag har försökt det mesta, någon som har några lösningar eller tips? Känns som det borde vara en enkel nöt att knäcka men jag måste ha missat något.

 

[inlägget ändrat 2005-12-11 11:59:20 av / daniel@senap]

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
zerblat

En variant är ju att gå igenom arrayen och slå ihop element som börjar med citattecken fram till nästa element som slutar på citattecken.

 

Enklare är kanske att använda reguljära uttryck:

<pre>
<?[color="#0000ff"]php[/color]
$s = 'hej hej "halla och tjena" mor';

[color="#ff0000"]preg_match[/color]_all('/("[^"]*"|\b\w+\b)/', $s, $matches);
[color="#0000ff"]print[/color]_r($matches);
?>

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...