如何用更大的数字替换文本文件中的数字?

Sim*_*oto -1 php replace

我要增加文本文件中出现的所有数字.该文件包含页码索引,但所有页码都需要增加"x"页数,以考虑在编写索引之前引入的其他介绍页.

例如.

哲学

心灵44-45

物理学202,213,219

哲学论证

归纳33

演绎89,102

谢谢!

Don*_*nic 5

这应该是一个相当简单的任务preg_replace_callback.

$str = preg_replace_callback('/(\d+)/', function($nums) { return $nums[0] + 1; }, $str);
Run Code Online (Sandbox Code Playgroud)

正则表达式与数字匹配,并且回调将每个数字的递增版本返回到替换函数.

您还可以将带有增量值的变量传递给回调,use而不是在其中进行硬编码.

$increment = 5;    
$str = preg_replace_callback('/(\d+)/', function($nums) use ($increment) {
    return $nums[0] + $increment;
}, $str);
Run Code Online (Sandbox Code Playgroud)

请注意,这假设您已经知道如何读取文件内容并将其写回,而您只是不知道如何进行替换.