4

我正在使用 xpdf pdf2text 将 PDF 转换为文本,它工作得很好,除了一件事:它将段落符号 (¶) 转换为数字 8。我需要找到一种方法来使用以下模式获取所有内容:

preg_match_all('/\b8\d{1,2}-/', 'text');

但只替换该模式中的“8”。我已经尝试将匹配项保存到一个数组中,但是如何将它们重新插入到它们所属的文本中?

理想情况下,段落标签会正确转换,但我尝试了几种不同的编码,但都没有成功;我认为一些pdf嵌入了字体。

关于如何仅替换该模式中的“8”的任何想法?我不能只替换所有 8,因为被引用的文章的页面或章节可能是 8;但该段落不存在 80 左右的危险(这就是为什么我在 8 之后检查数字的原因)。

谢谢。

4

1 回答 1

5

捕获组中的其余模式并将其放回原处:

$str = preg_replace('/\b8(\d{1,2}-)/', 'replacement$1', $str);
于 2012-10-19T20:52:05.013 回答