XenForo::callback_html( $field )
This callback processes any custom parser.php attributes and custom code with preg_replace
Contents
Description Description
Source Source
File: includes/admin/converters/XenForo.php
protected function callback_html( $field ) { // Strips Xenforo custom HTML first from $field before parsing $field to parser.php $xenforo_markup = $field; $xenforo_markup = html_entity_decode( $xenforo_markup ); // Replace '[QUOTE]' with '<blockquote>' $xenforo_markup = preg_replace( '/\[QUOTE\]/', '<blockquote>', $xenforo_markup ); // Replace '[/QUOTE]' with '</blockquote>' $xenforo_markup = preg_replace( '/\[\/QUOTE\]/', '</blockquote>', $xenforo_markup ); // Replace '[QUOTE=User Name($1)]' with '<em>@$1 wrote:</em><blockquote>" $xenforo_markup = preg_replace( '/\[quote=\"(.*?)\,\spost\:\s(.*?)\,\s\member\:\s(.*?)\"\](.*?)\[\/quote\]/', '<em>@$1 wrote:</em><blockquote>', $xenforo_markup ); // Replace '[/quote]' with '</blockquote>' $xenforo_markup = preg_replace( '/\[\/quote\]/', '</blockquote>', $xenforo_markup ); // Replace '[media=youtube]$1[/media]' with '$1" $xenforo_markup = preg_replace( '/\[media\=youtube\](.*?)\[\/media\]/', 'https://youtu.be/$1', $xenforo_markup ); // Replace '[media=dailymotion]$1[/media]' with '$1" $xenforo_markup = preg_replace( '/\[media\=dailymotion\](.*?)\[\/media\]/', 'https://www.dailymotion.com/video/$1', $xenforo_markup ); // Replace '[media=vimeo]$1[/media]' with '$1" $xenforo_markup = preg_replace( '/\[media\=vimeo\](.*?)\[\/media\]/', 'https://vimeo.com/$1', $xenforo_markup ); // Now that Xenforo custom HTML has been stripped put the cleaned HTML back in $field $field = $xenforo_markup; // Parse out any bbCodes in $field with the BBCode 'parser.php' return parent::callback_html( $field ); }