想要批量修改维基站点中的内容,最初是通过修改数据库的方式,那个时候内容少又处于测试阶段,所以无知者无畏也没有报任何错误。后来安装AutoWikiBrowser,但是批量查找修改还没搞明白,所以剩下的选择就只有ReplaceText扩展了。
安装过程就略过了,而一般的使用方法无非就是在原文字框中输入你要查找的内容,然后在替换文字框中输入你想要替换成的文字,如果你知道自己想要替换哪个命名空间中的内容就勾选对应的,或者就全部勾选,其他保持默认就可以。
ReplaceText_Step1.png
ReplaceText_Step2.png
ReplaceText_Result.png
但如果你希望再高级一点的话,那么就可以使用正则表达式功能,不过相对于其他的替换,它还是有些不一样的。

  • 在原文字框中的特殊字符是需要转义的,如|,在输入的时候就要写成\|,这一点也不足为奇,毕竟标准就是这么定的。但是,在替换文字框中,你就不需要再转义了,直接输|即可;同理,在原文字框中你如果要定位到行结束?\n,但是在替换文字框中,你就直接输入一个回车就成了,真的是个回车(虽然屏幕上什么都看不到)。
  • 如果你要修改的页面很多,一次替换不了(解决办法见下一条),或者是你只是拿其中一个页面做测试,如果方法可行你仍会批量修改,那么当替换完一次后,请使用浏览器的后退功能,连退两次还是会保留你之前输入的内容和选项而无需重新输入,如果你使用返回表格的链接,那么就相当于重新进入替换文字页面并刷新了该页面,所有输入的都没有了。
  • 默认情况下,该扩展只能搜索250个,而如果你使用正则表达式,可能有些不匹配的页面也会出现在选择页面中,那么当你替换完第一批之后,很可能还是会出现这250个,永远都无法选择剩余的,此时你可以在LocalSettings.php中通过$wgReplaceTextResultsLimit参数来修改,比如$wgReplaceTextResultsLimit=1000(用完最好还是改回来)。注意:即便你使用终端方式,如果不修改该参数,也只能显示250个页面。如果有大量修改,最好还是运行一下维护脚本php runJobs.php(脚本位于安装目录/maintenance下)。
最后修改:2022 年 06 月 13 日
如果觉得我的文章对你有用,请随意赞赏