Подсветка синтаксиса в значении строковой переменной

При работе в IDE над различными проектами, у меня часто возникает желание сделать так, чтобы большой кусок HTML-кода, который я планирую поместить в переменную, подсвечивался IDE как обычный HTML-код. Нет проблем, если закрыть зону PHP тэгом ?> и потом писать HTML-код. Тогда он будет подсвечиваться. Но такой код будет однозначно сразу выводиться, а вот затолкнуть его в переменную уже не получится – PHP будет игнорировать ?> и <?php внутри строки. Можете попробовать сами.

E20130908-011951-001[1]

И вот как я обошёл это.

Как бы я ни пытался запихнуть подсвечиваемый HTML в переменную, это не удавалось. Тогда я решил дать возможность PHP вывести этот HTML в поток, но поток я перед этим перенаправил в буфер с помощью функции ob_start(). И после “вывода” в поток я просто забираю буфер в переменную. Вот так легко и просто.

Привожу пример кода, чтобы всем было понятно.

E20130908-012605-001[1]

На этом всё, всем успехов! Программируйте правильно!

Подписаться
Уведомление о
guest
2 Комментарий
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Челябинский Метеорит

Большим кускам HTML кода в PHP скриптах не место. Они должны храниться в шаблонах.

6 лет назад

Спора нет, но такая “махинация” может потребоваться в том числе внутри шаблона (например, в WordPress нативные шаблоны представляют собой обычные PHP файлы).