扩展:替换文本

来自MyaWiki.Org
跳转到导航 跳到搜索
这个扩展来自MiaWiKi 1.31及以上。因此,您不必再次下载它。但是,您仍然需要遵循提供的其他指令。
MeimaWiKi扩展手册
OOJS用户界面图标
替换文本
发布状态: 稳定的
实施 专版
说明 提供一个表单,让管理员在整个Wiki上对字符串内容进行替换,以获取页面内容和页面标题。
作者(S) 亚龙科伦<亚龙57 @ gmail网站>Niklas Laxstr·奥姆
最新版本 1.4.1(2019年4月)
维基百科 1.23 +
许可证 GNU通用公共许可证2或更高版本
下载
替换文本
转换替换文本扩展如果在TurtLeWik.NET中可用
检查使用和版本矩阵。

替换文本是MeaWiki的扩展,它提供了一个特殊的页面,以及命令行脚本,允许管理员在Wiki的内容页的文本和标题上进行全局字符串查找和替换。

安装[编辑]

  • 下载并将文件放置在一个名为替换文本在你扩展文件夹。
  • 在你的底部添加下面的代码本地设置以下内容:
    拉伸张力 RePATETEXT )(二)
    
  • 默认情况下,只有“SysOP”用户组的成员才能访问替换的文本功能。您可以通过修改LocalSettings.php中的$WGCyPrPixStices数组来添加或修改允许的用户集。为了添加“官僚”或“BOT”用户的权限,例如,您将添加以下内容:
$WGCORPIPREST[“官僚”]RePATETEXT] = 真的(二)
  • 是γ多恩导航到特殊:版本在您的wiki上验证扩展是否成功安装。

对于运行MyaWiKi 1.24或更早的用户:

上面的说明描述了使用此扩展插件的新方法。WFLADDXXISTH()是的。如果需要在这些早期版本上安装扩展(MediaWiKi 1.24和更早版本),而不是拉伸张力 RePATETEXT )(二),您需要使用:

要求一次 “。”美元IP/ExpRe/ReopeTeX/ReopeTeX.php(二)

用法[编辑]

替换文本定义一个特殊的页面,在“特殊:RePyTeTeXT”(或它的另一种语言的等价物)中,它处理全局搜索和替换;它还定义了一个脚本,Reppalal.PHP,它从命令行起同样的作用。此文档将首先覆盖特殊页,然后覆盖命令行脚本。

页面特殊:RePrEtEXT最初为管理员显示填写搜索和替换细节的表单:管理员输入搜索字符串及其替换、搜索的命名空间集合,以及选择是否替换页面内容、页面标题或两者两者中的文本。可选地,管理员还可以添加两个附加的过滤器:所有页面必须属于的类别的名称,以及所有页面名称必须开始的前缀。当提交此表单时,它们会显示包含搜索字符串的所有页面或包含搜索字符串的所有页面,或者两者都有一个列表。每个页面名称旁边都是一个复选框,这样他们就可以选择不想要的页面。然后用户可以点击“替换”来做实际的替换。一旦文本替换完成,它就不是直接不可撤销的;尽管您可以始终运行“反向”替换,用原始字符串替换新字符串。因此,如果替换字符串为空白或是Wiki中已经存在的字符串,则向用户显示警告消息。

如果搜索字符串包含在页面上多次,那么每个实例都将被替换。每一个页面的替换都显示为一个(次要的)wiki编辑,管理员执行文本替换作为编辑的用户,编辑概要看起来像“文本替换:”。搜索字符串“to”替换字符串“。

页面的标题不能移动到Wiki中已经存在的标题或标题为多行的标题。无法移动的页面将被简单地列在“选择”页上,因为不可移动,没有靠近它们的复选框。

搜索是区分大小写的。在下面如何使它不区分大小写。

要知道的事情[编辑]

  1. RePytEXT只处理一次250页。这是硬编码到源代码中。
  2. 所有的替换都放置在作业队列中。因此,如果必须处理1000页,则需要运行RePrETEXT,然后运行RunJOS.PHP。这一过程将需要重复4次,以替换所有1000篇文章。

使用正则表达式[编辑]

如果您使用的是MySQL或PostgreSQL数据库,您将在特殊的RePATETEXT窗体中看到一个“使用正则表达式”复选框。对于MSSQL/SQLServer或SQLite数据库,此复选框不出现,因为这些数据库类型缺少本地的“ReGEXP”运算符。

如果你点击这个复选框,你可以使用正则表达式或在搜索字符串和替换字符串中的ReXEPS。允许的正则表达式集合基本上是PHP和MySQL/PostgreSQL正则表达式集的一小部分。可以在搜索字符串中使用的特殊字符是“())。*+?[1 ],在替换字符串中,可以使用诸如1美元、2美元等的值(使用这些字符作为常规字符,只需要预先添加一个“\”,您还需要用“//”字符来避免它们)。本节将不给出使用正则表达式的教程(维基百科文章是一个开始的好地方)。关于MySQL ReXEXPS的页面,但这是内联解释中列出的基本示例:

搜索字符串:A(*)C
替换字符串:交流1美元

这将查找包含字母“a”、字母“c”和其中的任何文本(由“.*”表示)的页面。然后,在“A”和“C”之后的中间文本-替换字符串中的“$ 1”指的是包含在括号内的搜索字符串的第一个元素(在这种情况下,只有一个)。

对于替换实际调用的每个页面,替换将发生在每次出现的搜索字符串中,而不仅仅是一个-就像正则的、非正则表达式搜索所发生的一样。

更复杂的正则表达式[编辑]

搜索字符串:你好[0-9]*)\.。([0-9]*)
替换字符串:1美元,2美元

这将用“222555”和“Helo2.55”代替“HELL222255”。

首先,“你好”这个词是匹配的。括号内有一个表达式来搜索任何数字“0~9”。以下星号找到前一个元素的多个匹配项。括号和星号用括号括起来,所以我们匹配完整的期限,并转移到1美元。“\”表示它是一个真正的点,而不是一个特殊的字符。括号内的第二个表达式匹配并放入2美元。

替换数字[编辑]

以下不会的工作:

搜索字符串:123(*)456
替换字符串:1123456美元

这是因为搜索会认为替换的数量是1123456,而不是1。相反,你应该有以下几点:

替换字符串:{ 1美元} 123456

通常,您总是可以用卷筒括号括起来编号的值。

不区分大小写的搜索[编辑]

为了使搜索用例不敏感,使用正则表达式和大小写不敏感的修饰符,(?i)以下内容:

搜索字符串:(?i)iPhone
替换字符串:iPhone

以上将统一iPhone/iPhone/iPhone/iPhone的所有提到的外壳。

命令行脚本:[编辑]

替换文本提供了一个脚本,RePosial.PHP,它可以从命令行运行,并且所有的替换都是页面特殊的:RePrEtEXT。这个脚本的前两个参数应该是搜索文本和替换文本;您可以简单地调用这个脚本,如下所示:

PHP替换:PHP“Leningrad”“圣彼得堡”

此脚本的其他可能参数/标志是:

  • --干跑-只查找搜索文本,而不做任何实际替换
  • --正则表达式-应该使用正则表达式(默认为false)
  • 用户-将属性替换为(默认为使用ID 1的用户)的用户。
  • ——是的-以假定的“是”跳过所有提示。
  • 概要-为替换编辑设置自定义编辑摘要
  • --没有宣布-不要在特殊情况下宣布编辑:更改更改或监视列表
  • NS-将命名空间的逗号分隔列表设置为搜索
  • ——纳斯尔-搜索所有命名空间;重写“-ns”的任何值集
  • ——替代品-一个文件的名称,它包含一个选项卡分隔的替换列表。
  • --调试-显示正在进行的替换

此外,有两个标志严格打印出与特定文本替换无关的有用信息:

  • --显示文件格式-显示要使用的文件格式的说明——替代品
  • --听-在Wiki上显示所有命名空间列表

(也可以通过调用“PHPRePalAlph.php帮助”来查看所有这些选项。

给用户分配替换[编辑]

默认情况下,所有替换都是在页面历史中记录给发起它们的用户。但是,您可以将替换项记入预先设置的用户(例如,BOT帐户),通过将这样的一行添加到LoopalStutsP.PHP中,在包含替换文本的情况下:

$WRePrestEtExtUSER = “MyRePytExtBoT”(二)

指定的用户名必须已经是wiki上的一个帐户。

作者[编辑]

替换文本大部分是由亚龙科伦,可以在YalON-57在Gmail网站上找到。也作出了重要贡献。Niklas Laxstr·奥姆Ankit Garg(谁贡献了大量的正则表达式代码),Mark Hershberger(谁写命令行脚本),Brent Laabs,Cindy Cicalese和Nikhil Kumar。

版本历史[编辑]

替换文本当前是版本1.4.1。看到整个版本历史.

截图[编辑]

下面是替换文本工作流的图像。首先,分别为目标字符串和替换字符串输入“George F. Will”和“George Will”的初始页,并替换页标题中的文本。话语数据库以下内容:


替换文本预览屏幕

注意:检查“全部”和“否”框只在使用矢量皮肤时显示出来,或者基于它的皮肤。

这里是用户点击“继续”之后页面的样子:


替换文本屏幕


点击“替换”将在所有列出的页面中替换该值,并将页面的末尾移动到其新值。

已知问题[编辑]

  • 替换动作本身被构造为MyaWiKi“作业”,以确保系统不重载,如果用户想同时做很多。这意味着大量的替代品不会立即完成。可能需要几分钟、几小时甚至更长的时间来完成。通常,每次在Wiki上查看页面时,作业都会被激活;为了加快进程(或慢下来),可以更改查看页面时运行的作业数量;默认值为1。因此,如果Wiki上没有足够的前端活动来超越新批作业的其他来源,则替换文本请求在其启动后不久就会停滞。有关如何更改默认值的信息,请参见美元汇率 网页若要强制wiki立即运行所有作业,请转到shell并执行脚本。RunJOP.PHP 从维基的前端来说,通常没有办法做到这一点。
    • 如果您仍然存在替换文本的作业要运行的问题,那么向LoalSaltGuangs.PHP添加以下内容可能会解决问题:
美元债券 = (二)
  • 为了重定向不要在页面移动上创建(即如果“保存旧标题重定向到新标题”复选框未选中),则必须给相关用户“SupReReCudio”权限。假设您只给了SysOP’RePATETEXT’权限,您需要向LocalSettings.php添加以下内容:
$WGCORPIPREST[“赛索普”]“禁止重定向”] = 真的(二)
  • 如果您的修订被压缩(即,如果WG-压缩修正 启用本地设置 或者剧本压缩文件 已经用期权执行了-GZIP然后RePertEXT将无法工作,因为它使用无法搜索压缩文本的SQL查询。(见麝香草在这种情况下作为扩展的替代。
  • 如果您有大量替换项,其中一些可能无法完成;或者您可能会看到一条错误消息,它读取“您必须至少选择一个命名空间”。在这两种情况下,这都是由于PHP接受的表单输入数量的限制。这可以通过多种方式来固定:
    • 如果你有苏霍宁PHP扩展安装在您的服务器上,这可能是问题的根源。可以增加变量的值马齿苋SuffiN.Realest.Max Var或者在你做替换的时候试着暂时禁用SuHuin。
    • PHP设置最大输入量(PHP5.3.9以来可用的)也会影响你随时可以做的替换的次数,你可以尝试把它设置成非常大的数字,比如3000。

为项目做出贡献[编辑]

错误和特征请求[编辑]

发送任何错误报告和请求给Yaron Koren,在雅龙57 -在Gmail网站。

为项目贡献补丁[编辑]

如果您发现了一些bug并修复了它,或者创建了一个新的特性,请用您的代码执行Git提交,或者通过进入“RePrExeTeXT”目录创建一个补丁,然后键入:

GIT-DIF.>

如果你创建了一个补丁,请把它连同一个描述一起发送给Yaron Koren。

翻译[编辑]

替换文本的翻译是通过翻译网是的。可以找到这个扩展的翻译。在这里是的。若要添加语言值或更改现有值,应在TraceTeWik.NET上创建帐户,然后请求管理员对某一语言或语言进行翻译。本页(这是一个非常简单的过程)。一旦您有了给定语言的权限,您就可以登录并添加或编辑您想用该语言编写的任何消息。

网站链接[编辑]

也见[编辑]