Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP正则表达式查找模式,但仅替换一个字符_Php_Regex - Fatal编程技术网

PHP正则表达式查找模式,但仅替换一个字符

PHP正则表达式查找模式,但仅替换一个字符,php,regex,Php,Regex,我正在使用xpdf pdf2text将PDF转换为文本,它工作得非常好,除了一件事:它将段落符号(“”)转换为数字8。我需要找到一种方式,通过以下方式实现所有目标: preg_match_all('/\b8\d{1,2}-/', 'text'); 但仅替换该模式中的“8”。我已尝试将匹配项保存到数组中,但如何将它们重新插入到它们所属的文本中 理想情况下,段落标记会正确转换,但我尝试了几种不同的编码,但没有成功;我认为一些pdf有嵌入式字体 有没有关于如何在这种模式中只替换“8”的想法?我不能仅

我正在使用xpdf pdf2text将PDF转换为文本,它工作得非常好,除了一件事:它将段落符号(“”)转换为数字8。我需要找到一种方式,通过以下方式实现所有目标:

preg_match_all('/\b8\d{1,2}-/', 'text');
但仅替换该模式中的“8”。我已尝试将匹配项保存到数组中,但如何将它们重新插入到它们所属的文本中

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

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


谢谢。

在一组中捕获图案的其余部分并将其放回原位:

$str = preg_replace('/\b8(\d{1,2}-)/', 'replacement$1', $str);

太好了!谢谢如果允许的话,我会在3分钟内接受。