【发布时间】:2011-08-28 02:03:24
【问题描述】:
我在编写 php 函数来搜索 php 文件中的特定文本时遇到问题。我不擅长正则表达式,所以我认为这就是问题所在。
我需要正则表达式有一个起始词和结束词,并且应该返回在两者之间找到的文本。 这是我尝试过的:
$handle1 = fopen($file, "r");
$fileContents = fread($handle1,filesize($file));
if (preg_match('/'.$start. '((.|\n)*)'. $end.'/', $fileContents, $match)) {
$text=preg_split('/'.$start.'((.|\n)*)'. $end.'/', $match[0]);
echo $text. " found in $file<br/>";
}
有人可以帮忙吗?
【问题讨论】:
-
您能否举一个示例输入的示例,以及您期望的结果是什么?
-
作为旁注,我猜你想要尽可能小的匹配。如果是这样,您需要使匹配不贪心:
(.|\n)*?。此外,请注意可能包含正则表达式特殊字符的$start和$end字符串。 -
$start和$end的内容是什么? -
@krookedking 我想搜索整个文件并返回结果,即使有新行。
-
@Femi 我没有收到错误,但我无法得到我想要的结果。