2009-08-07 9 views
0

sein kann duplicateREGEX: Separe Intervalle zwischen Kommata

ich PHP und Postgres verwende.

Wie kann ich Wörter im unten stehenden Formular trennen? Die maximale Anzahl der Wörter ist 7.

word_1, word_2, word_3, ... 
+0

Dupe? http://stackoverflow.com/questions/470505/regular-expression-for-parsing-csv-in-php –

+0

@Mark: Die Situation ist anders, da ich zuerst die Daten in "word_1", "word_2 "," word_3 ", ...' aus 'word_1, word_2, word_3', so dass Whitespaces zwischen den Wörtern entfernt werden. vor der Konvertierung. –

+0

Vielen Dank für Ihre Antworten! –

Antwort

4

Sie können explodieren aufrufen.

$string = 'word_1, word_2, ...'; 
$splitarr = explode(',' $string); 

Dann können Sie die Werte aus dem arr greifen etwa so: $ splitarr [0] ... $ splitarr [6].

Split ist in diesem Fall etwas langsamer als explodieren, da Split einen regulären Ausdruck hat. http://blog.brianhartsock.com/2007/06/11/php-explode-vs-split/

1

wenn Worte können keine Leerzeichen enthalten können Sie die preg_split Funktion:

$string="word_1, word_2, word_3"; 
$array=preg_split("/\s*,\s/",$string, PREG_SPLIT_NO_EMPTY); 

, wenn Sie die PREG_SPLIT_NO_EMPTY Konstante verwenden, werden Sie nicht leer Ergebnisse erhalten

+0

Könnten Sie bitte ein Beispiel für die Verwendung Ihres Codes geben? Ich führe erfolglos 'echo array [0]' aus, da es alle durch ein Komma getrennten Wörter druckt. Ich möchte nur das Wort 'word_1' drucken. –