<分区>
好的,所以你们都知道 PHP 可以解析 .php
包含 HTML 代码和嵌入式 PHP 代码的文档。而且我相信 Ruby (Erb) 允许几乎相同的事情。
但是,它是如何做到的呢? (相信我,我已经仔细研究了源代码,但是在 100 万行代码中发现这样的东西并不是最简单的事情)。
我的想法是:
- 重要的是正在做什么
echo
编辑 - 初始的 PHP/HTML 文本被转换为有效的 PHP 脚本
- PHP代码,如
<?php
所示和?>
起点/终点,保持原样 - 其余使用
echo
转换声明。
例如:
<html>
<head>
<title><?php echo "This is the title"; ?></title>
</head>
<body>
</body>
</html>
转换为:
echo "<html>";
echo "<head>";
echo "<title>";
echo "This is the title";
echo "</title>";
echo "</head>";
echo "<body>";
echo "</body>";
echo "</html>";
这有意义吗?
P.S. 如果您想知道这个问题的本质,我目前正在为我自己的语言构建类似的东西。它工作得很好,虽然我遇到了一些较长输入文档的转换速度问题,所以我虽然探索我的替代品......:-)