Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用grep查找和编辑正确的表单_Php_Shell_Grep - Fatal编程技术网

Php 使用grep查找和编辑正确的表单

Php 使用grep查找和编辑正确的表单,php,shell,grep,Php,Shell,Grep,我有一个网站,建立在一个CMS(Ushahidi)的基础上,该网站有内置的翻译。在每个页面的右上角是30多种语言的下拉列表。我正试图编辑它,以便只剩下两种语言:英语和法语 为了找到要编辑的文件,我一直在使用grep,如下所示: grep -Rl English pathtowebsite 我用英语这个词作为搜索词。这让我陷入了一个文件和目录的兔子洞,里面保存着每种语言选项的语言翻译。除了英语和法语,我把它们都删掉了 但是,表单仍然提供所有语言的选项。为了找到要编辑的表单,我不知道使用什么搜索词

我有一个网站,建立在一个CMS(Ushahidi)的基础上,该网站有内置的翻译。在每个页面的右上角是30多种语言的下拉列表。我正试图编辑它,以便只剩下两种语言:英语和法语

为了找到要编辑的文件,我一直在使用grep,如下所示:

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的内部结构)