preg_match_all从文件中读取返回空数组

时间:2018-06-12 11:19:34

标签: php file preg-replace file-get-contents preg-match-all

我试图读取文件并过滤其内容。我期待的结果是:https://regex101.com/r/uMTrtd/3但我不知道为什么我没有得到它。我尝试过更改PCRE限制但没有结果,我也不知道还能做些什么。

如果我使用实际字符串运行preg而不是读取文件,那么var_dump($file)会返回一个字符串。

<?php

$file = file_get_contents('myfile.txt');
var_dump($file);
$text = preg_replace('/(cve: .+? Pág\. [0-9]{1,2} )/u','', $file);

$re = '/(La señora|El señor) (.+?):(.+?\. (?=(La señora|El señor) (.+?):|Eran las .+?\.))/u';
preg_match_all($re, $text, $matches, PREG_SET_ORDER, 0);
var_dump($matches);

?>

您可以在https://regex101.com/r/uMTrtd/3

查看文件内容

1 个答案:

答案 0 :(得分:0)

试试这个:

$text = preg_replace('/(cve: .+? Pág\. [0-9]{1,2} )/us','', $file);


$re = '/(La señora|El señor) (.+?):(.+?\. (?=(La señora|El señor) (.+?):|Eran las .+?\.))/us';

&#34; S&#34;使它也可以通过换行进行搜索