php 使用 grep 截断 preg_match
php truncate using grep preg_match
目的是通过将文件从磁盘读取为字符串(附加 \n\n),然后使用截断函数将聊天记录截断到最多 100 行(当添加每个新行时) preg_match 最多 100 行的模式和 return 该匹配项的第一个实例,然后将匹配项写入文件。
这一切都没有截断功能。 preg_match 模式在 TextWrangler 文件中正确选择。但如图所示添加截断函数会导致删除整个文本。
$existing= file_get_contents('LOG.txt') ;
// get new text-line $addnew from POST
$addnew=$addnew."\n\n";
$newlog = $addnew.$existing ;
$newlog = truncate ( $newlog ) ;
file_put_contents('LOG.txt',$newlog);
function truncate ( $string ) {
preg_match('#^[(.*?)\n\n]{0,100}#',$string,$match);
if ( isset ($match[0] ) ) {
$string=$match[0];
}
return $string ;
}
这需要什么?谢谢。
^[(.*?)\n\n]{0,100}
是一个字符 class 表示 (
或 .
或 *
或 ?
或 [ 中的任何 0 到 100 =16=] 或 \n
.
我猜你想要:
preg_match('#^(.*?\n\n){0,100}#',$string,$match)
目的是通过将文件从磁盘读取为字符串(附加 \n\n),然后使用截断函数将聊天记录截断到最多 100 行(当添加每个新行时) preg_match 最多 100 行的模式和 return 该匹配项的第一个实例,然后将匹配项写入文件。
这一切都没有截断功能。 preg_match 模式在 TextWrangler 文件中正确选择。但如图所示添加截断函数会导致删除整个文本。
$existing= file_get_contents('LOG.txt') ;
// get new text-line $addnew from POST
$addnew=$addnew."\n\n";
$newlog = $addnew.$existing ;
$newlog = truncate ( $newlog ) ;
file_put_contents('LOG.txt',$newlog);
function truncate ( $string ) {
preg_match('#^[(.*?)\n\n]{0,100}#',$string,$match);
if ( isset ($match[0] ) ) {
$string=$match[0];
}
return $string ;
}
这需要什么?谢谢。
^[(.*?)\n\n]{0,100}
是一个字符 class 表示 (
或 .
或 *
或 ?
或 [ 中的任何 0 到 100 =16=] 或 \n
.
我猜你想要:
preg_match('#^(.*?\n\n){0,100}#',$string,$match)