PHP正则表达式问题 - preg_match没有返回任何结果

时间:2012-12-22 19:14:50

标签: php regex preg-match expression

我有一个名为1.txt的文件,我试图在网站上显示它的部分。

我正在尝试在两个关键字之间显示特定部分。

此处可以看到该文件:http://pastebin.com/GwVKhs8h

我想在这些词之间显示文字:"(非特权).pst"和" -----原始消息-----"所以它会回来:

如果您仍然需要曲线转移,请告诉我。

我使用以下代码:

<?php
$myFile = "1.txt";
$fh = fopen($myFile, 'r');
$theData = fread($fh, filesize($myFile));
fclose($fh);

if (preg_match("/\(Non-Privileged\)\.pst((\n|.)*)-----Original Message-----/", $theData, $matches1))
{
    echo $matches1[1]."<br />";
}
?>

我尝试了一些东西,但它没有用。

1 个答案:

答案 0 :(得分:0)

使用爆炸

    $myFile = "1.txt";
    $fh = fopen($myFile, 'r');
    $theData = fread($fh, filesize($myFile));
    fclose($fh);

    $pairs = explode("(Non-Privileged).pst", $theData);
    $pairs = explode("-----Original Message-----", $pairs[1]); 
    $text  = $pairs[0]; 

    print $text;