У меня есть текстовая строка из одного миллиона символов, и у меня есть 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? Спасибо за чтение и влияние на мои решения
Вы можете использовать следующее решение, используя preg_split
:
$txt = "5_hundred_thusands_text_charactersPART2fivehundredthusandstextcharactersagain";
$arrParts = preg_split("/PART2/", $txt);
$arrSplitItems = str_split($arrParts[1], 10);
echo implode(',', $arrSplitItems);
Примечание: вместо использования preg_split
Вы также можете использовать explode
:
$arrParts = explode('PART2', $txt);
Я бы использовал explode, это на самом деле быстрее, чем preg_split, и вам не нужно регулярное выражение, поскольку вы точно знаете, что такое разделитель.
$txt = "5_hundred_thusands_text_charactersPART2fivehundredthusandstextcharactersagain";
$r = explode("PART2", $txt);
$see = str_split($r[1], 10);
print_r($see);