我有一个很长的字符串,我需要从它得到每12个字符。我目前使用for()
循环来实现它,但我想知道是否有更好/更有效的方法。
$verylongstring = 'thisisalongstringwithawholelotofcharctersitgoesonforawhile...loremipsum';
$newstring = '';
for ($i = 0; $i < strlen($verylongstring); $i++)
{
if ($i % 12 == 0) {
$newstring .= $verylongstring[$i];
}
}
echo $newstring;
2条答案
按热度按时间icomxhvb1#
一个小
preg_replace()
应该对你有用-下面是一个例子-http://phpfiddle.org/main/code/gf4i-6221
roejwanj2#
匹配前11个字符,然后捕获第12个字符;如果满足此子模式,则用第十二个字符替换所有十二个字符。否则,匹配字符串的其余部分(11个字符或更少),并将这些字符替换为空字符串(未填充的第一个捕获组)。
代码:(Demo)
或者不进行交替,贪婪匹配最多11个字符(不返回),然后捕获第12个字符(如果存在)。Demo