如何在字符文本行

时间:2017-11-01 21:05:03

标签: php string text split

我有一百万个字符的文本行,我的PART2就在文本行的中间,即500个字符 'PART2'之前的字符和'PART2'之后的500个因此字符我的问题是如何从'PART2'开始str_split。在文本行中 例子

 `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中真正实现这一点吗?感谢您在我的解决方案中阅读和影响

2 个答案:

答案 0 :(得分: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 :(得分:0)

我使用爆炸它实际上比preg_split快,并且你不需要正则表达式,因为你确切知道分隔符是什么。

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