Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

вывод свойства элемента типа html?

00 голосов
4
Добрый день,
столкнулся с такой проблемой:
создал инфоблок, и в нем свойство типа HTML (название SPEC), заполняю с помощью визуального редактора, все отлично, делаю вывод информации из этого элемента:
Код
<?
if(CModule::IncludeModule("iblock"))
{
  $arIBlockElement = GetIBlockElement($_GET["ID"]);
?>
<?=$arIBlockElement[PROPERTIES][SPEC][VALUE];?>
<?}?>

выводится Array,
делаю
Код
<? print_r($arIBlockElement[PROPERTIES][SPEC])?>

выводит всю информацию, но интересует следующее:
Код
 [VALUE] => Array ( [TEXT] => Объем резервуара комнатной температуры 3.0л <br /> Объем резервуара охлажденной воды 2.3л <br /> Объем резервуара горячей воды: 1.2 л <br /> Потребление Электроэнергии: Компрессор 100W <br /> Спираль нагревания 300W [TYPE] => HTML ) [DESCRIPTION] => [VALUE_ENUM] => [VALUE_XML_ID] => [~VALUE] => Array ( [TEXT] => Объем резервуара комнатной температуры 3.0л 
Объем резервуара охлажденной воды 2.3л 
Объем резервуара горячей воды: 1.2 л 
Потребление Электроэнергии: Компрессор 100W 
Спираль нагревания 300W [TYPE] => HTML ) [~DESCRIPTION] => [~NAME] => Спецификация [~DEFAULT_VALUE] => )

то есть если на выводе сделать
Код
<?=$arIBlockElement[PROPERTIES][SPEC][VALUE][TEXT];?>
то выведется содержимое свойства но в виде текста, со всеми тегами форматирования, а как его вывести в формате html? пробовал
Код
<?=$arIBlockElement[PROPERTIES][SPEC][~VALUE][TEXT];?>

не выводит ничего(
подскажите как быть? :(
спросил 28 Сен, 13 от Rogarond (820 баллов)

4 Ответы

00 голосов
Попробуйте использовать кавычки
Код
<?=$arIBlockElement["PROPERTIES"]["SPEC"]["~VALUE"]["TEXT"];?>
Бредово выглядит, но вдруг поможет :)
ответил 08 Окт, 13 от sickmind (4,660 баллов)
00 голосов
Попробуй вставить строчку:
Код
echo "\r\n<script>alert('".$arIBlockElement[PROPERTIES][SPEC][VALUE][TEXT]."')</script>\r\n";


Если в диалоге будет что-то вроде:
Код
... комнатной температуры 3.0л &lt;br /&gt; Объем резервуара ...


То попробуй так:
Код
<?
     $dwkwa_out = $arIBlockElement[PROPERTIES][SPEC][VALUE][TEXT];
     $dwkwa_out = str_replace("&lt;","<",$dwkwa_out);
     $dwkwa_out = str_replace("&gt;",">",$dwkwa_out);
     print_r($dwkwa_out);
?>


Возможно и слеши надо будет заменить на один

P.S.:
test
ответил 08 Янв, 14 от MsTiGRyl9 (100 баллов)
00 голосов
Цитата
Александр Черкасов пишет:
Попробуйте использовать кавычки



Код

<?=$arIBlockElement["PROPERTIES"]["SPEC"]["~VALUE"]["TEXT"];?> Бредово выглядит, но вдруг поможет :)



на удивление сработало =))) спасибо огромное =)) Василий Коцюба, Вам тоже спасибо, думаю бы получилось но ето уж совсем крайний метод)
ответил 24 Апр, 14 от Rogarond (820 баллов)
00 голосов
Цитата
Василий Коцюба пишет:
Попробуй вставить строчку:
Код
echo "\r\n<script>alert('".$arIBlockElement[PROPERTIES][SPEC][VALUE][TEXT]."')</script>\r\n";

Если в диалоге будет что-то вроде:
Код
... комнатной температуры 3.0л &amp;lt;br /&amp;gt; Объем резервуара ...

То попробуй так:
...


Спасибо! Пригодилось при добавлении артикула товара в <option> select_a :)

Кстати, почему при выводе $arIBlockElement["PROPERTIES"]["SPEC"]["~VALUE"]["TEXT"]; результат отображается одним образом, а без тильды другим? И зачем нужно такое дублирование полей массива..
ответил 19 Авг, 14 от Keelo (100 баллов)

Похожие вопросы

0 голосов
3 ответов
спросил 08 Апр, 14 от Dayran (840 баллов)
0 голосов
3 ответов
0 голосов
4 ответов
0 голосов
2 ответов