Разделить строку строки по n-й точке с запятой в строкеPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Разделить строку строки по n-й точке с запятой в строке

Сообщение Anonymous »

Мне нужна помощь в поиске шаблона PCRE с помощью preg_split().

Я использую приведенный ниже шаблон регулярного выражения, чтобы разделить строку на основе ее начального трехсимвольного кода и точки с запятой. Шаблон отлично работает в Javascript, но теперь мне нужно использовать его в PHP. Я попробовал preg_split(), но мне только что вернули мусор.

// Каждая группа начинается с трехбуквенного кода и состоит из трех сегментов, разделенных точкой с запятой. Строка не будет завершаться точкой с запятой.

// Pseudocode
string_to_split = "AAA;RED;111;BBB;BLUE;22;CCC;GREEN;33;DDD;WHITE;44"

// This works in JS
// https://regex101.com
$pattern = "/[AAA|BBB|CCC|DDD][^;]*;[^;]*[;][^;]*/gi";

Match 1
Full match 0-11 `AAA;RED;111`
Match 2
Full match 12-23 `BBB;BLUE;22`
Match 3
Full match 24-36 `CCC;GREEN;33`
Match 4
Full match 37-49 `DDD;WHITE;44`

$pattern = "/[AAA|BBB|CCC|DDD][^;]*;[^;]*[;][^;]*/";
$split = preg_split($pattern, $string_to_split);

returns

array(5)
0:""
1:";"
2:";"
3:";"
4:""


Подробнее здесь: https://stackoverflow.com/questions/515 ... n-a-string
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»