расщепление строки на основе значений в массиве - PullRequest
0 голосов
/ 21 мая 2009

У меня есть группа строк, которые мне нужно разбить на части в массиве. Строка должна быть разделена на '/', ',', 'with' или '&'. К сожалению, строка может содержать две строки, которые нужно разделить, поэтому я не могу использовать split или explode.

Например, строка могла бы сказать «сначала мимо / выход за пределы, а затем повернуть», поэтому я пытаюсь получить массив, который будет возвращать массив («первое прошлое», «выход за пределы», «затем поворот»)

Код, который я сейчас использую:

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

Я не могу найти функцию в PHP, которая позволяет мне это делать. Нужно ли передавать строку обратно в верхнюю часть воронки и продолжать проходить через «foreach» после того, как строка снова и снова разделяется?

Это не очень эффективно. Любые предложения будут великолепны. Спасибо, Пит

1 Ответ

8 голосов
/ 21 мая 2009

Используйте регулярное выражение и preg_split .

В случае, если вы упомянули, вы получите массив split с:

$splitString = preg_split('/(\/|\,| with |\&/)/', $string);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...