首页 > 解决方案 > preg_match_all 返回空数组

问题描述

我正在尝试使用 pdf2text 代码(https://pastebin.com/dvwySU1a)过滤一个 PDF 文件,并且两者preg_replacepreg_match_all没有做任何事情,就像那个正则表达式有 0 个结果一样。

我期待的结果是:https ://regex101.com/r/uMTrtd/3但我不知道为什么我没有得到它。我尝试更改 PCRE 限制但没有结果,我不知道还能做什么。

如果我preg用实际的字符串而不是$a->output()它运行它,但它var_dump($text)返回一个字符串。

<?php
include('pdf2text.php');
$a = new PDF2Text();
$a->setFilename('http://www.congreso.es/public_oficiales/L12/CONG/DS/PL/DSCD-12-PL-127.PDF'); 
$a->decodePDF();
$text = preg_replace('/(cve: .+? Pág\. [0-9]{1,2} )/u','', $a->output());
var_dump($text);
echo '</br>';
echo '</br>';
echo '</br>';
$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);
?>

PS:我正在使用PHP7

标签: phpregexpreg-replacepreg-match-all

解决方案


推荐阅读