我正在尝试将混合的PHP / HTML源文件准备好在OmegaT中进行翻译,这是一个Java翻译记忆库应用程序。它有一个HTML过滤器,可以很好地处理干净的HTML文件,但混合使用PHP代码时会感到困惑。
为了避免这个问题,我试图找到一个解决方案,将PHP代码放在HTML注释中(<! - - >),这样OmegaT HTML过滤器可以忽略它。
进一步的复杂性是注释只应在PHP代码位于HTML标记之间而不是使用PHP代码创建HTML标记属性时才会发生。
为了更好地说明这些要求,我想在div id = 1和id = 3的PHP代码周围添加HTML注释,但是在id = 2中。
原文:
<body>
<div id="1">
<?php
echo $var;
?>
</div>
<div id="2">
<a href="/index.php?p=<?php echo $var; ?>" >text</a>
</div>
<div id="3">
<p>Some text <?php echo $var; ?> generated partially with PHP.</p>
</div>
</body>
评论:
<body>
<div id="1">
<!--<?php
echo $var;
?>-->
</div>
<div id="2">
<a href="/index.php?p=<?php echo $var; ?>" >text</a>
</div>
<div id="3">
<p>Some text <!--<?php echo $var; ?>--> generated partially with PHP.</p>
</div>
</body>
如果我在div id = 2中注释掉PHP代码,OmegaT HTML过滤器会转换&lt;&gt;字符到HTML元素,我想避免。
我试图制作一个简单的Perl脚本,以便在需要时添加注释,但我没有提出有用的正则表达式替代解决方案。
答案 0 :(得分:0)
解决整个问题的另一种替代方法:不是试图强制将文档放在翻译工具可以处理的格式中,为什么不只是解决它?将字符串与PHP代码分开,创建自己的XML文件,其中包含字符串。 OmegaT可以处理该文件。在生成网站时,使用PHP读取并解析它,而不是直接使用翻译的文件。在我眼中更清洁的解决方案......