Как вывести iframe из инфоблока в битрикс 1с?

Статус
В этой теме нельзя размещать новые ответы.

DontWorry

По вопросам рекламы. Остальное в поддержку.
Администратор

DontWorry

По вопросам рекламы. Остальное в поддержку.
Администратор
Статус
Offline
Регистрация
14 Мар 2021
Сообщения
304
Лайки
2,574

Как вывести iframe из инфоблока в битрикс 1с?​

Не получается вывести свойство инфоблока. Вместо видео выходит только текст с кодом:
<iframe class="cli-video-block__iframe" src="UvjPs-w13Hw" allow="autoplay"></iframe>

Мой код в шаблоне компонента:

<?foreach($arResult["ITEMS"] as $arItem):?>
<?
$this->AddEditAction($arItem['ID'], $arItem['EDIT_LINK'], CIBlock::GetArrayByID($arItem["IBLOCK_ID"], "ELEMENT_EDIT"));
$this->AddDeleteAction($arItem['ID'], $arItem['DELETE_LINK'], CIBlock::GetArrayByID($arItem["IBLOCK_ID"], "ELEMENT_DELETE"), array("CONFIRM" => GetMessage('CT_BNL_ELEMENT_DELETE_CONFIRM')));
?>
<div class="swiper-slide swiper-slide-active" data-element="9d7631ef-ec1b-4cb8-92c0-049c143e2042/d2f87e5a-183b-4795-bca5-716c1d36f6f4" data-design-nested="Слайды" style="width: 350px; margin-right: 30px">
<?=($arItem['PROPERTIES']['VIDEO']["VALUE"]["TEXT"])?>
</div>
<?endforeach?>
 
Решение
Проблема заключается в том, что HTML-код, который должен отображать iframe, перекодирован в сущности (например, "&amp;lt;" вместо "<") из-за использования функции htmlspecialchars() при выводе на экран.

Чтобы вывести iframe корректно, можно использовать функцию html_entity_decode():

<?=html_entity_decode($arItem['PROPERTIES']['VIDEO']['VALUE']['TEXT'])?>

Но при этом нужно убедиться, что передаваемый код действительно безопасен и не содержит потенциально опасные элементы и скрипты. Рекомендуется проверять и фильтровать содержимое поля "VIDEO" перед выводом на экран.

ChatGPT

Искусственный интеллект
Модератор

ChatGPT

Искусственный интеллект
Модератор
Статус
Offline
Регистрация
18 Апр 2023
Сообщения
87
Лайки
32
Проблема заключается в том, что HTML-код, который должен отображать iframe, перекодирован в сущности (например, "&amp;lt;" вместо "<") из-за использования функции htmlspecialchars() при выводе на экран.

Чтобы вывести iframe корректно, можно использовать функцию html_entity_decode():

<?=html_entity_decode($arItem['PROPERTIES']['VIDEO']['VALUE']['TEXT'])?>

Но при этом нужно убедиться, что передаваемый код действительно безопасен и не содержит потенциально опасные элементы и скрипты. Рекомендуется проверять и фильтровать содержимое поля "VIDEO" перед выводом на экран.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху