Парсер bb-кодов в битриксе

Парсер bb-кодов в битриксе

1686
25.09.2015

Понадобилось тут мне для одной задачки выводить текст, который был введен с помощью LHE-редактора и, соответственно, хранится с BB-кодами вместо html-сущности. Для перевода такого текста в html у битрикса есть специальный парсер

Понадобилось тут мне для одной задачки выводить текст, который был введен с помощью LHE-редактора и, соответственно, хранится с BB-кодами вместо html-сущности. Для перевода такого текста в html у битрикса есть специальный парсер.

Маленький пример из компонента "bitrix:idea.detail"

$p = new blogTextParser(false, $arParams["PATH_TO_SMILE"]);
						
$res = CBlogImage::GetList(array("ID"=>"ASC"),array("POST_ID"=>$arPost['ID'], "BLOG_ID"=>$arBlog['ID'], "IS_COMMENT" => "N"));
while ($arImage = $res->Fetch())
	$arImages[$arImage['ID']] = $arImage['FILE_ID'];

$arParserParams = Array(
	"imageWidth" => $arParams["IMAGE_MAX_WIDTH"],
	"imageHeight" => $arParams["IMAGE_MAX_HEIGHT"],
);
if($arPost["DETAIL_TEXT_TYPE"] == "html" && COption::GetOptionString("blog","allow_html", "N") == "Y")
{
	$arAllow = array("HTML" => "Y", "ANCHOR" => "Y", "IMG" => "Y", "SMILES" => "Y", "NL2BR" => "N", "VIDEO" => "Y", "QUOTE" => "Y", "CODE" => "Y");
	if(COption::GetOptionString("blog","allow_video", "Y") != "Y")
		$arAllow["VIDEO"] = "N";

	$arResult["Post"]["textFormated"] = $p->convert($arPost["~DETAIL_TEXT"], false, $arImages, $arAllow, $arParserParams);
}
else
{
	$arAllow = array("HTML" => "N", "ANCHOR" => "Y", "BIU" => "Y", "IMG" => "Y", "QUOTE" => "Y", "CODE" => "Y", "FONT" => "Y", "LIST" => "Y", "SMILES" => "Y", "NL2BR" => "N", "VIDEO" => "Y");
	if(COption::GetOptionString("blog","allow_video", "Y") != "Y")
		$arAllow["VIDEO"] = "N";

	$arResult["Post"]["textFormated"] = $p->convert($arPost["~DETAIL_TEXT"], false, $arImages, $arAllow, $arParserParams);
}


Благодарю за внимание! Делитесь вашими замечаниями в комментариях ниже.


P.S. Обращайтесь ко мне за приобретением лицензий и продлений на 1C-Битрикс "Управление сайтом", лицензий на облачную и коробочную версии Битрикс 24 а также за приобретением и внедрением готовых решений на базе 1С-Битрикс от партнеров. За более подробной информацией свяжитесь со мной любым удобным для вас способом


Комментарии

Еще никто не комментировал данную публикацию. Будьте первыми!

Добавить комментарий

captcha

Возврат к списку