关闭字符串中的php标记将停止语法突出显示

关闭字符串中的php标记将停止语法突出显示,php,vim,syntax-highlighting,Php,Vim,Syntax Highlighting,在我的vim文件中,当字符串中有一个结束php标记时,我的语法高亮显示将在该点停止 例如: <?php ... Everything good up to this point $xml = '<?xml version="1.0"?>'; $foo = 'bar' <-- starting here I loose highlighting to the end of the file ?> 这不是一个bug,实际上您已经结束了PHP字符串。你需要把

在我的vim文件中,当字符串中有一个结束php标记时,我的语法高亮显示将在该点停止

例如:

<?php

...  Everything good up to this point

$xml = '<?xml version="1.0"?>';

$foo = 'bar'  <-- starting here I loose highlighting to the end of the file

?>

这不是一个bug,实际上您已经结束了PHP字符串。你需要把它拆开。像
“'.?'.>'
或类似的东西这是正常的。请注意,SO语法高亮显示也在该点停止高亮显示;)


我的windows编辑器也做同样的事情。

即使是PHP的内置函数也是这样工作的(或者很长一段时间都是这样)

  • 确保您拥有最新版本的运行时文件,或者至少是最新版本的php语法文件

  • 尝试改用语法文件


(1)无法用vim重现这一点:语法突出显示保持正确。(2)属于超级用户。vim 7.2.438有效b.t.w.@Wrikken一个问题(正确的)是什么tagged
php
语法突出显示
属于SU???@tmp:好吧,根据meta,似乎有一个共识,它应该在这里。因为它只是在使用一个程序。我不这么认为,但因为我不在这里,所以我会坚持共识。我不使用vi,但一些编辑器会这样做。我用:$xml='',我希望如此它还有其他的补救功能,我在最近几分钟一直在搜索,在debian下我找不到一个不懂的编辑器:)不是真的。PHP只在字符串上下文之外使用?>标记。将它放在字符串中就像预期的那样。换句话说,你不能从字符串文本内部突破PHP模式。是的,just偶然发现了这一点,这可能是有争议的行为(例如,我过去常常猜测米奇所说的相同),但这实际上是错误的。@tdammers所说的10年后仍然是正确的。