Как начать str_split только в середине строки текста символов

У меня есть текстовая строка из одного миллиона символов, и у меня есть PART2 только в середине текстовой строки, которая составляет пятьсот таким образом
s символов перед ‘PART2’ и пятьсот символов таким образом и после ‘PART2’ моя проблема в том, как мне начать str_split с того места, где находится ‘PART2’. В текстовой строке
пример

 `5_hundred_thusands_text_charactersPART2fivehundredthusandstextcharactersagain`

мой вывод результатов после str_split должен начинаться с ‘PART2’, как
‘Fivehundre’, ‘Dthusandte’, ‘xtcharacte’
это мой код:

 $txt = "5_hundred_thusands_text_charactersPART2fivehundredthusandstextcharactersagain";
if(preg_match('/(START)/i', $txt))      {
#start from there
$see = str_split($txt, 10);
echo " ','$see";
}

мой результат с этим кодом только с самого начала могу ли я достичь этого в php? Спасибо за чтение и влияние на мои решения

-1

Решение

Вы можете использовать следующее решение, используя preg_split:

$txt = "5_hundred_thusands_text_charactersPART2fivehundredthusandstextcharactersagain";
$arrParts = preg_split("/PART2/", $txt);

$arrSplitItems = str_split($arrParts[1], 10);
echo implode(',', $arrSplitItems);

демо: https://ideone.com/qx0KdS


Примечание: вместо использования preg_split Вы также можете использовать explode:

$arrParts = explode('PART2', $txt);
1

Другие решения

Я бы использовал explode, это на самом деле быстрее, чем preg_split, и вам не нужно регулярное выражение, поскольку вы точно знаете, что такое разделитель.

$txt = "5_hundred_thusands_text_charactersPART2fivehundredthusandstextcharactersagain";
$r = explode("PART2", $txt);
$see = str_split($r[1], 10);
print_r($see);
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector