Help:管理员工具手册/替换
跳到导航
跳到搜索
在萌娘百科,“替换文本”是管理员工具之一。管理员无需使用机器人或机器用户用户组就可以对全站文本进行替换并自动标记为机器人。
本页面介绍的是管理员的替换工具及操作方式。
替换文本 (ReplaceText)
Replace Text扩展提供了一个特殊页面Special:ReplaceText以便具有“在整个wiki进行字符串替换(replacetext)”权限的用户进行替换文本。
特殊页面提供了一个表单供管理员填写搜索和替换详细信息:
- 搜索字符串和替换字符串
- 要搜索的名字空间
- 选择是否替换文本在页面内容、页面标题或两者中
- 页面所属的分类(选填)
- 页面名称的前缀(选填)
- 注意事项
- 替换文本默认一次只处理 250 项,可能需要多次执行替换;
- 替换将被提交至作业队列中,以确保在用户想要同时执行许多操作时系统不会超载,这意味着大量替换不会立即完成;
- 由于 PHP 表单输入数量的限制,如果需要进行大量替换,建议筛选名字空间;
- 替换文本的编辑摘要为「文本替换 - 替换“XXX”为“YYY”」,无法更改;
- 当替换页面标题时,无法覆盖删除已有的非重定向页面;
- 对JS/CSS内容模型的页面进行替换会失效,请勿对模块执行文本替换;
- 极其不建议对文件执行页面名称文本替换,可能会因未能正确移动媒体文件导致文件无法使用。
- 正则表达式
勾选“使用正则表达式”后,可以在搜索和替换字符串栏输入正则表达式。允许的正则表达式集是 PHP 和 MySQL/PostgreSQL 正则表达式的一小部分,可参阅此处。
简单示例如下:
- 示例一:
- 搜索字符串
a(.*)c
- 替换字符串
ac$1
- 这将查找包含字母“a”、字母“c”以及介于两者之间的任何文本(由“.*”表示)的页面。然后它会将中间文本放在“a”和“c”之后——替换字符串中的“$1”指的是括号内包含的搜索字符串的第一个元素(在这种情况下,只有一个)。
- 若后跟数字替换,您可以将$1值括在大括号中,形如${1}。
- 搜索字符串
- 示例二:
- 搜索字符串
hello([0-9]*)\.([0-9]*)
- 替换字符串
$1,$2
- 首先匹配“hello”;括号中的表达式用于搜索任何数字“0-9”,后面的星号查找前面元素的多个匹配项,用括号括起来可以将匹配完整的部分表达式定义为$1。”\” 表示它后面是一个真正的点。第二个括号内的表达式匹配并定义为$2。例如,这会将“hello222.555”替换为“222,555”,将“hello2.55”替换为“2,55”。
- 搜索字符串
- 示例三:
- 搜索字符串
(?i)iphone
- 替换字符串
iPhone
- 可使您的搜索不区分大小写。示例会将iPhone/iphone/IPHONE等统一为iPhone的大小写。其他模式请参见此处。
- 搜索字符串
批量正则编辑 (MassEditRegex)
MassEditRegex扩展提供了一个特殊页面Special:MassEditRegex以便具有“使用正则表达式替换页面内容(masseditregex)”权限的用户进行批量正则编辑。
特殊页面提供了一个表单供管理员填写搜索和替换详细信息:
- 要编辑的页面列表
- 页面名称(编辑这些页面)
- 页面名称前缀(编辑页面名称的开头有这个文字)
- 分类名称(编辑在这些分类里的每个页面)
- 反向链接(编辑链接至这些页面的页面)
- 搜索字符串和替换字符串
- 编辑摘要(默认为空)
- 注意事项
- 服务器端执行替换是默认配置,因为它更快。但由于 PHP 对脚本执行时间的限制,编辑大量页面会导致服务器超时,此时可勾选“在浏览器中执行”以在客户端完成替换。
- 当您提供的正则表达式无效时,它会警告您选择替换的所有页面均未找到。
- 当通过页面名称前缀进行检索时,仅指定名字空间前缀会返回无效标题,这是已知问题。
- 正则表达式
搜索和替换字符串栏必须使用正则表达式。允许使用 PHP 正则表达式,细节参见此处。该扩展可使用任意复杂度的正则表达式进行文本替换,以下为简单示例:
- 简单示例一:
- 搜索字符串
/$/
- 替换字符串
[[Category:New]]
- 追加一些文本到页面底端 - 例如为页面添加分类。
- 搜索字符串
- 简单示例二:
- 搜索字符串
/^(.)/
- 替换字符串
{{XXXTOP}}\n$1
- 添加一些文本到页面顶部 - 例如为页面添加TOP模板。
- 搜索字符串
|