Да, вчера отвлекли наглухо. Продолжим.
вот этот код у меня работает:[CODE]<?
CJSCore::Init(array('window'));
$temp = " преобразование в <b>объект</b> \r\n и замена ' [code] кавычек [wewewewe]";
$arDialogParams = array(
'title' => 'Подробное описание',
'content' => $temp,
'width' => 500,
'height' => 200,
'buttons' => array(
'[code]BX.CDialog.prototype.btnClose[code]' // Системная кнопка "Закрыть"
),
);
// преобразование в объект и замена кавычек
$strParams = CUtil::PhpToJsObject($arDialogParams);
$strParams = str_replace('\'[code]', '', $strParams);
$strParams = str_replace('[code]\'', '', $strParams);
// ссылка для открытия окна
$url = 'jav * ascript:(new BX.CDialog('.$strParams.')).Show()';
?>
<a href="<?=$url?>">test</a>[/CODE]
скрипт формируется корректно - одинокую кавычку экранирует, теги обрабатывает
поэтому и был вопрос - что там такое возвращает ваш strval($arItem["PREVIEW_TEXT"]); , что на нем это формирование спотыкается?
пробовали его сдампить в файл, в textarea на странице, в тег <pre> обернуть?
что-то там есть явно в тексте: или двойная непарная кавычка, или спецсимвол, но не \r\n - их нормально обработало.
и еще вопрос - если взять другой элемент инфоблока, на нем тоже споткнется?
вот этот код у меня работает:[CODE]<?
CJSCore::Init(array('window'));
$temp = " преобразование в <b>объект</b> \r\n и замена ' [code] кавычек [wewewewe]";
$arDialogParams = array(
'title' => 'Подробное описание',
'content' => $temp,
'width' => 500,
'height' => 200,
'buttons' => array(
'[code]BX.CDialog.prototype.btnClose[code]' // Системная кнопка "Закрыть"
),
);
// преобразование в объект и замена кавычек
$strParams = CUtil::PhpToJsObject($arDialogParams);
$strParams = str_replace('\'[code]', '', $strParams);
$strParams = str_replace('[code]\'', '', $strParams);
// ссылка для открытия окна
$url = 'jav * ascript:(new BX.CDialog('.$strParams.')).Show()';
?>
<a href="<?=$url?>">test</a>[/CODE]
скрипт формируется корректно - одинокую кавычку экранирует, теги обрабатывает
поэтому и был вопрос - что там такое возвращает ваш strval($arItem["PREVIEW_TEXT"]); , что на нем это формирование спотыкается?
пробовали его сдампить в файл, в textarea на странице, в тег <pre> обернуть?
что-то там есть явно в тексте: или двойная непарная кавычка, или спецсимвол, но не \r\n - их нормально обработало.
и еще вопрос - если взять другой элемент инфоблока, на нем тоже споткнется?