我正在用 PHP 编写自己的简单语法荧光笔。我已经完成了基于正则表达式和字符串替换的基本算法,但我真正不知道的是如何禁用替换注释的关键字。
例如:
/**
* Some class
*
* @property-read $foo
*/
class Test
{
private $foo;
public function __construct()
{
}
}
现在我的解决方案只是突出显示已定义的关键字(例如类或变量)以及注释的关键字。
这个问题有什么解决办法吗?
最佳答案
为什么不使用 PHP 的 tokenizer为你做这份工作?这样,您的语法荧光笔将以与 Zend 引擎完全相同的方式解析 PHP 代码,这可能会为您提供比正则表达式更好的结果。
关于php - 自己的语法荧光笔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5026260/