【发布时间】:2013-06-13 03:07:06
【问题描述】:
我需要在 C# 中解析 PHP 文件。基本上我需要 PHP 文件中的所有 cmets,并且我想使用 Google Translate 将所有这些 cmets 翻译成另一种语言。
我目前正在使用正则表达式来执行此操作。但这是徒劳的。如果我解析“// 或 /../”,我无法确定这两个是否位于字符串中。
假设$i= " http://wwww.google.como " ;。我的正则表达式将其视为 cmets "//wwww.google.com " ;,而它不是注释。那么有人可以帮帮我吗?
是否已经构建了对我有很大帮助的东西,例如 php 解析器等?
【问题讨论】:
-
必须是C#代码,还是可以接受其他语言的产品/解决方案?
-
我在 .net 中需要它。但是如果我答应了,你会给我什么建议?
-
PHP 的词法结构相当复杂;检查字符串文字,然后当然可以在 PHP 中包含 HTML 文本,在最坏的情况下可能包含看起来像 PHP 代码的内容。除非你想写一个完整的 PHP 词法分析器,否则你很可能会弄错,你最终会在一些奇怪的文档字符串中找到“//”。此处的另一个答案建议使用 PHP 本身(包含完整的标记器)来完成这项工作;我认为这种方法是你最好的选择。