如果达到一定数量的换行符,则剪切字符串

时间:2014-09-27 16:49:49

标签: php string

如果有一定数量的换行符,如何在PHP中剪切字符串?例如,假设字符串是10行文本,全部在新行上,我怎么能剪切该字符串以便只显示前5行?我已经将字符串剪切成650个字符,但是,如果它到达太多的换行符,我也希望能够剪切它。

如果字符串超过650个字符,则会切断字符串的当前代码:

$string = $f2;
$maxLength = 650;

if (strlen($string) > $maxLength) {
    $stringCut = substr($string, 0, $maxLength);
    $string = substr($stringCut, 0, strrpos($stringCut, ' ')); 
}
$stringchar=htmlspecialchars($string);
echo nl2br($stringchar);

2 个答案:

答案 0 :(得分:1)

您可以使用此正则表达式捕获多行输入的前1-5行:

([^\r\n]*\R){1,5}

RegEx Demo

<强>代码:

if (preg_match('/([^\r\n]*\R){1,5}/', $input, $m))
   print_r($m);

答案 1 :(得分:0)

假设您的文字位于文件中,并且您希望回显它:

$file = file('filename.txt');
foreach ($file as $key => $line) {
    if ($key == 6)
        break;
    echo $line;
}

如果是字符串:

$strExploded = explode("\n", $str);

foreach ($strExploded as $key => $line) {
    if ($key == 6)
        break;
    echo $line."\n";
}