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

При работе в 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 скриптах не место. Они должны храниться в шаблонах.

10 лет назад

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