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

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

E20130908-011951-001[1]

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

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

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

E20130908-012605-001[1]

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

Подписаться
Уведомить о
guest
2 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Челябинский Метеорит

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

7 лет назад

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