cgicorner.ch

Informationen rund um Perl/CGI

Sie sind hier: Home > Knowledge Base > Leerzeichen-Split nicht innerhalb von Anführungszeichen

Leerzeichen-Split nicht innerhalb von Anführungszeichen

Wie kann man einen String bei den Leerzeichen splitten, ohne dass Text innerhalb von Anführungszeichen auseinandergerissen wird?

Dies lässt sich mit einer Regular-Expression bewerkstelligen:

@splittedtext = $string =~ /\"[^\"]+\"|\b[^\s]+\b/g;

Hier ein kleines Anwendungsbeispiel:

$string="Dies ist \"ein Text\" der gesplitted werden soll, ohne dass \"der Text\" in Anführungszeichen auseinandergerissen wird";
@splittedtext = $string =~ /\"[^\"]+\"|\b[^\s]+\b/g;
foreach (@splittedtext) {
  print "$_<br />";
}

ergibt folgende Ausgabe:

Dies
ist
"ein Text"
der
gesplitted
werden
soll,
ohne
dass
"der Text"
in
Anführungszeichen
auseinandergerissen
wird

Autor: Jürg Sommer, knowledge@cgicorner.ch

[ zurück ]