Я наткнулся на загадку в подсветке синтаксиса, над которой я работал.PHP поддерживает строки, содержащиеся между ""
и ''
.В отличие от C #, которым легче управлять, разрешив только ""
, с опцией @
для автоматического экранирования строки.
Если у меня две строки, например:
$code = "print( \"<div class='test'>content?div><div class='test'>content</div>\" );";
Если я повторю код $, я получу:
print( "<div class='test'>content?div><div class='test'>content</div>" );
Вот моя проблема.Когда я анализирую содержимое между начальной и конечной кавычками, я удаляю такой контент, чтобы его можно было вернуть позже (чтобы не выделять перекрестные выделения) с помощью инструмента буфера обмена (просто скопируйте и вставьте). У меня настроен синтаксический анализ содержимого между ''
first с использованием регулярных выражений.Конечный результат (после обоих типов строк) будет выглядеть следующим образом:
print( "<div class=>content?div><div class=>content</div>" );
Как я могу изменить свое регулярное выражение для просмотра назад (с начала) и вперед (с конца), чтобы найти самый верхний разделитель строк ('
или "
).Трудно объяснить, надеюсь, кто-то получит это, иначе мне просто придется с этим смириться.