Николаев Виталий
Блог веб-разработчика: Битрикс, PHP, Python, Linux и SEO
Битрикс Битрикс
24.01.2021

Битрикс вывод свойства HTML/текст

Иногда при выводе пользовательского свойства в 1С-Битрикс возникает проблема:

  • HTML-теги выводятся обычным текстом.

Например, если вывести свойство так:

<?=$arResult["PROPERTIES"]["символьный_код"]["VALUE"]["TEXT"];>

и в настройках свойства выбран тип:

HTML/Текст

то HTML-теги будут выводиться на странице как обычный текст.

Почему так происходит

Битрикс автоматически:

  • экранирует HTML;
  • защищает вывод;
  • преобразует специальные символы.

Поэтому вместо:

<strong>Текст</strong>

браузер покажет:

<strong>Текст</strong>

а не жирный текст.

В своих проектах я использую серверную инфраструктуру Timeweb Cloud

VPS и облачные решения для стабильной работы сайтов на PHP и 1С-Битрикс — от корпоративных сайтов до интернет-магазинов и высоконагруженных веб-проектов.

Перейти на Timeweb Cloud
Реклама · ERID: CQH36pWzJqVJ4YD9t5y227AkMQdhpG2THarwRmX2g9tS8x

Правильный вывод HTML свойства

Не нужно:

  • использовать htmlspecialchars_decode();
  • делать str_replace();
  • пытаться вручную восстанавливать HTML.

В Битрикс уже есть готовое решение.

Достаточно добавить:

~VALUE

вместо:

VALUE

Правильный код

<?=$arResult["PROPERTIES"]["символьный_код"]["~VALUE"]["TEXT"];>

Что делает ~VALUE

Поле:

~VALUE

возвращает:

  • «сырое» значение свойства;
  • без HTML-экранирования;
  • без обработки htmlspecialchars.

В результате:

  • HTML-теги корректно обрабатываются браузером.

Пример

Если в свойстве хранится:

<strong>Привет</strong>

То:

<?=$arResult["PROPERTIES"]["TEXT"]["VALUE"]["TEXT"];>

выведет:

<strong>Привет</strong>

А:

<?=$arResult["PROPERTIES"]["TEXT"]["~VALUE"]["TEXT"];>

выведет:

Привет

Где это используется

Такой вывод часто используется:

  • в новостях;
  • в статьях блога;
  • в SEO-текстах;
  • в пользовательских свойствах инфоблоков;
  • в описаниях товаров и разделов.

Итог

Если HTML-свойство в Битрикс выводится вместе с тегами, используйте:

~VALUE

вместо:

VALUE

Это позволит:

  • корректно выводить HTML;
  • избежать лишней обработки;
  • использовать встроенные возможности Битрикс.
175 просмотров

Если возникли сложности

Помогу разобраться с настройкой, исправить ошибки и реализовать решение под ваш проект.

Поддержка сайтов на 1С-Битрикс

Поддержка сайтов на 1С-Битрикс: быстрое решение ошибок, консультации, обучение сотрудников и сопровождение сайта. 
Резервирую время под ваш проект для оперативной помощи и стабильной работы сайта.
Подробнее
Где заказы?

Почему один сайт стабильно приносит заявки, а другой годами просто «висит в интернете»?

В телеграм-канале «Где заказы?» я разбираю реальные ошибки бизнеса, SEO, сайты, рекламу, воронки продаж и показываю, почему компании теряют клиентов и как это исправить.

Без инфоцыганства и мотивационных цитат — только практика, кейсы и рабочие решения для бизнеса и веб-разработки.

Комментарии

Где заказы?
Почему у одних компаний очередь из клиентов, а у других пустой сайт и тишина?
Телеграм канал «Где заказы?» — про продажи, сайты и ошибки бизнеса на реальных примерах. Подписаться