Php 使用grep查找和编辑正确的表单
我有一个网站,建立在一个CMS(Ushahidi)的基础上,该网站有内置的翻译。在每个页面的右上角是30多种语言的下拉列表。我正试图编辑它,以便只剩下两种语言:英语和法语 为了找到要编辑的文件,我一直在使用grep,如下所示:Php 使用grep查找和编辑正确的表单,php,shell,grep,Php,Shell,Grep,我有一个网站,建立在一个CMS(Ushahidi)的基础上,该网站有内置的翻译。在每个页面的右上角是30多种语言的下拉列表。我正试图编辑它,以便只剩下两种语言:英语和法语 为了找到要编辑的文件,我一直在使用grep,如下所示: grep -Rl English pathtowebsite 我用英语这个词作为搜索词。这让我陷入了一个文件和目录的兔子洞,里面保存着每种语言选项的语言翻译。除了英语和法语,我把它们都删掉了 但是,表单仍然提供所有语言的选项。为了找到要编辑的表单,我不知道使用什么搜索词
grep -Rl English pathtowebsite
我用英语这个词作为搜索词。这让我陷入了一个文件和目录的兔子洞,里面保存着每种语言选项的语言翻译。除了英语和法语,我把它们都删掉了
但是,表单仍然提供所有语言的选项。为了找到要编辑的表单,我不知道使用什么搜索词
下面是html的一个示例。我该如何通过grep查找此表单来删除除英语和法语之外的所有语言的选项?有问题的网站位于此处,如果有帮助:
阿兹尔巴坎帝力(亚利桑那州)
印度尼西亚语(ID)
博桑斯基(文学士)
加泰罗尼亚(ES)
Cymraeg(GB)
丹斯克
德国(德国)
英语(GB)
英语(美国)
西班牙人(AR)
西班牙人(CL)
西班牙人(ES)
西班牙人(体育)
Ushahidi wiki上的文档告诉我们,语言下拉列表是通过查看应用程序/i18n
目录生成的。您应该从该目录中删除不希望支持的语言对应的文件夹
在进行更改后,不要忘记通过删除应用程序/cache
文件夹的内容来清除应用程序缓存
Wiki页面:
Ushahidi wiki上的文档告诉我们,语言下拉列表是通过查看
应用程序/i18n
目录生成的。您应该从该目录中删除不希望支持的语言对应的文件夹
在进行更改后,不要忘记通过删除应用程序/cache
文件夹的内容来清除应用程序缓存
Wiki页面:
Ushahidi框架可能会为您提供更为干净的解决方案,但仅就grep命令而言,您可以使用:
grep -Rl 'English (.*)</option>' pathtowebsite
grep-Rl'English(.*)路径网站
更新:
实际上,此下拉列表是动态填充的,而不是直接来自文件。它直接来自
application/cache/kohana_配置
如果在调整application/i18n
后清除缓存目录,您应该会没事的 Ushahidi框架可能会为您提供更干净的解决方案,但仅就grep命令而言,您可以使用:
grep -Rl 'English (.*)</option>' pathtowebsite
grep-Rl'English(.*)路径网站
更新:
实际上,此下拉列表是动态填充的,而不是直接来自文件。它直接来自
application/cache/kohana_配置
如果在调整application/i18n
后清除缓存目录,您应该会没事的 谢谢你的信息。我已经从该目录中删除了所有其他语言。我已经清除了缓存并在3个不同的浏览器上进行了检查-所有选项都保留了!此外,我以前在Ushahidi 2.7的早期版本(我运行的是2.7.1)上也尝试过这个方法,删除文件夹的解决方案确实有效。所以当你说清除缓存时,我认为你是指在我的浏览器中。清除缓存目录解决了这个问题。谢谢你提供关于ln18目录的信息,我应该更简洁一些。但是如果您按照wiki页面上的说明操作,它还会说在添加语言后删除应用程序/cache
文件夹的内容。我猜删除语言时也是如此;)。不管怎样,很高兴看到你的问题解决了。谢谢你提供的信息。我已经从该目录中删除了所有其他语言。我已经清除了缓存并在3个不同的浏览器上进行了检查-所有选项都保留了!此外,我以前在Ushahidi 2.7的早期版本(我运行的是2.7.1)上也尝试过这个方法,删除文件夹的解决方案确实有效。所以当你说清除缓存时,我认为你是指在我的浏览器中。清除缓存目录解决了这个问题。谢谢你提供关于ln18目录的信息,我应该更简洁一些。但是如果您按照wiki页面上的说明操作,它还会说在添加语言后删除应用程序/cache
文件夹的内容。我猜删除语言时也是如此;)。无论如何,很高兴看到你的问题得到解决。嗨,阿努巴瓦,谢谢你的回复。尝试过了,但没有搜索结果。(*)做什么?在正则表达式中,点匹配任何字符,因此English(.*)
将同时匹配English(GB)
和English(US)
我也安装了Ushahidi
,当我运行上述命令时,它确实在installer
目录中找到了两个文件。对,但安装后,安装程序目录已根据说明删除。没错。那么我想没有其他匹配的文件了。这个下拉列表可能是动态填充的,而不是直接来自文件(很抱歉,我不太了解Ushahidi的内部结构)。您好,anubhava,谢谢您的回复。尝试过了,但没有搜索结果。(*)做什么?在正则表达式中,点匹配任何字符,因此English(.*)
将同时匹配English(GB)
和English(US)
我也安装了Ushahidi
,当我运行上述命令时,它确实在installer
目录中找到了两个文件。对,但安装后,安装程序目录已根据说明删除。没错。那么我想没有其他匹配的文件了。这个下拉列表可能是动态填充的,而不是直接来自文件(很抱歉,我不太了解Ushahidi的内部结构)