/ / dzielenie łańcucha na podstawie wartości w tablicy - php, string

dzielenie łańcucha na podstawie wartości w tablicy - php, string

Mam grupę ciągów, które muszę poruszyćdo tablicy. Ciąg musi być podzielony na „/”, „,”, „with” lub „&”. Niestety, łańcuch może zawierać dwa z ciągów, na które trzeba rozdzielić, więc nie mogę użyć podziału lub wybuchu.

Na przykład ciąg może powiedzieć „najpierw przeszłość / przekroczenie, a potem zwrot”, więc próbuję uzyskać tablicę, która by zwróciła tablica („pierwsza przeszłość”, „wykraczanie poza”, „następnie kolej”)

Obecnie używam kodu

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

Nie mogę znaleźć tej funkcji w PHPpozwala mi to zrobić. Czy muszę przepuszczać sznurek z powrotem do górnej części lejka i kontynuować przechodzenie przez „foreach” po tym, jak sznurek został ponownie podzielony?

To nie wydaje się bardzo wydajne. Wszelkie sugestie byłyby świetne. Dzięki, Pete

Odpowiedzi:

8 dla odpowiedzi № 1

Użyj wyrażenia regularnego i preg_split.

W przypadku, o którym wspominasz, uzyskasz podzieloną tablicę z:

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