加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

在PHP文件中查找所有源硬编码字符串 – 翻译目的

发布时间:2020-12-13 22:32:46 所属栏目:PHP教程 来源:网络整理
导读:我必须将我的网站(用 PHP编码)翻译成另一种语言.我一直在使用Drupal及其函数来处理这个问题,但仍然存在一些硬编码的字符串. 您是否知道可以帮助我在整个源代码目录中找到它们的脚本或软件?最好的是它还允许我改变它们. 解决方法 有关处理此问题的自动方法,
我必须将我的网站(用 PHP编码)翻译成另一种语言.我一直在使用Drupal及其函数来处理这个问题,但仍然存在一些硬编码的字符串.

您是否知道可以帮助我在整个源代码目录中找到它们的脚本或软件?最好的是它还允许我改变它们.

解决方法

有关处理此问题的自动方法,请参阅 Is there a semi-automated way to perform string extraction for i18n?.虽然链接答案是特定于Java的,但相同的引擎/方案对PHP来说可以正常工作.

如果这太过分了,我们的Source Code Search Engine (SCSE)可以轻松识别这些,让您决定如何处理每个字符串.

SCSE是一种超级grep,它使用语言结构而不是原始字符文本.查询以语言标记而不是字符串表示. SCSE索引源代码库的许多文件的所有标记,然后使用该索引来优化搜索.因为它使用语言准确的词法分析器,所以它理解字符串,注释,数字,关键字和空格的精确边界.查询是(语言)whitesphace不敏感.因此,要查找中间具有“foo”的标识符的所有位置都分配了常量,可以编写查询:

I=*foo* '=' N

查询所说的“查找具有通配符约束的I(dentifiers),然后是语言标记=,
然后是任何N(数字).

这对于使用普通查询查找程序中的所有字符串文字都非常重要:

S

这意味着,无论类型和语法如何,都可以找到没有任何约束的所有文字S(trings)(PHP有许多类型的字符串文字).

生成的匹配可以在UI中显示,但是出于OP的目的,可以打开日志记录并让工具通过精确的文件和行号提供命中和位置.

SCSE具有PHP和许多其他语言的扫描程序.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读