/ / deliaci reťazec založený na hodnotách v poli - php, string

rozdelenie reťazca na základe hodnôt v poli - php, reťazec

Mám skupinu strún, ktoré musím vytrhnúťdo poľa. Reťazec je potrebné rozdeliť na „/“, „,“, „pomocou“ alebo „&“. Bohužiaľ je možné, aby reťazec obsahoval dva reťazce, ktoré je potrebné rozdeliť, takže nemôžem použiť rozdelenie alebo explóziu.

Napríklad reťazec by mohol povedať „prvá minulosť / ísť ďalej a potom sa otočiť“, takže sa snažím získať pole, ktoré by sa vrátilo pole („prvá minulosť“, „presahujúce rámec“, „potom odbočte“)

Kód, ktorý momentálne používam, je

$ splittersArray = array ("/", ",", "with", "&"); foreach ($ spltersArray ako $ splitter) { if (strpos ($ string, $ splitter)) { $ splitString = split ($ splitter, $ string); foreach ($ splitString ako $ split) {

Nezdá sa mi, že by v PHP našiel nejakú funkciudovoľuje mi to urobiť. Musím prechádzať strunou späť do hornej časti lievika a pokračovať v prechádzaní cez „foreach“ aj po tom, ako sa struna znovu a znovu rozdelí?

Nezdá sa to veľmi efektívne. Akékoľvek návrhy by boli skvelé. Vďaka, pete

odpovede:

8 pre odpoveď č. 1

Použite regulárny výraz a preg_split.

V prípade, že spomeniete, rozdelené pole získate:

$splitString = preg_split("/(/|,| with |&/)/", $string);