SMF::callback_html( $field )
This callback processes any custom parser.php attributes and custom code with preg_replace
Description
Source
File: bp-forums/admin/converters/SMF.php
protected function callback_html( $field ) {
// Strips SMF custom HTML first from $field before parsing $field to parser.php
$SMF_markup = $field;
$SMF_markup = html_entity_decode( $SMF_markup );
// Replace '[quote]' with '<blockquote>'
$SMF_markup = preg_replace( '/\[quote\]/', '<blockquote>', $SMF_markup );
// Replace '[quote ($1)]' with '<blockquote>"
$SMF_markup = preg_replace( '/\[quote (.*?)\]/' , '<blockquote>', $SMF_markup );
// Replace '[/quote]' with '</blockquote>'
$SMF_markup = preg_replace( '/\[\/quote\]/', '</blockquote>', $SMF_markup );
// Replace '[glow]' with ''
$SMF_markup = preg_replace( '/\[glow\]/', '', $SMF_markup );
// Replace '[glow]' with ''
$SMF_markup = preg_replace( '/\[glow=(.*?)\]/', '', $SMF_markup );
// Replace '[/glow]' with ''
$SMF_markup = preg_replace( '/\[\/glow\]/', '', $SMF_markup );
// Replace '[shadow]' with ''
$SMF_markup = preg_replace( '/\[shadow\]/', '', $SMF_markup );
// Replace '[shadow]' with ''
$SMF_markup = preg_replace( '/\[shadow=(.*?)\]/', '', $SMF_markup );
// Replace '[/shadow]' with ''
$SMF_markup = preg_replace( '/\[\/shadow\]/', '', $SMF_markup );
// Replace '[move]' with ''
$SMF_markup = preg_replace( '/\[move\]/', '', $SMF_markup );
// Replace '[/move]' with ''
$SMF_markup = preg_replace( '/\[\/move\]/', '', $SMF_markup );
// Replace '[table]' with '<table>'
$SMF_markup = preg_replace( '/\[table\]/', '<table>', $SMF_markup );
// Replace '[/table]' with '</table>'
$SMF_markup = preg_replace( '/\[\/table\]/', '</table>', $SMF_markup );
// Replace '[tr]' with '<tr>'
$SMF_markup = preg_replace( '/\[tr\]/', '<tr>', $SMF_markup );
// Replace '[/tr]' with '</tr>'
$SMF_markup = preg_replace( '/\[\/tr\]/', '</tr>', $SMF_markup );
// Replace '[td]' with '<td>'
$SMF_markup = preg_replace( '/\[td\]/', '<td>', $SMF_markup );
// Replace '[/td]' with '</td>'
$SMF_markup = preg_replace( '/\[\/td\]/', '</td>', $SMF_markup );
// Replace '[list]' with '<ul>'
$phpbb_uid = preg_replace( '/\[list\]/', '<ul>', $phpbb_uid );
// Replace '[liist type=decimal]' with '<ol type="a">'
$phpbb_uid = preg_replace( '/\[list\ type=decimal\]/', '<ol type="a">', $phpbb_uid );
// Replace '[li]' with '<li>'
$SMF_markup = preg_replace( '/\[li\]/', '<li>', $SMF_markup );
// Replace '[/li]' with '</li>'
$SMF_markup = preg_replace( '/\[\/li\]/', '</li>', $SMF_markup );
// Replace '[tt]' with '<tt>'
$SMF_markup = preg_replace( '/\[tt\]/', '<tt>', $SMF_markup );
// Replace '[/tt]' with '</tt>'
$SMF_markup = preg_replace( '/\[\/tt\]/', '</tt>', $SMF_markup );
// Replace '<br />' with '<br>'
$SMF_markup = preg_replace( '/\<br \/\>/', '<br>', $SMF_markup );
// Replace '[size=$1]' with '<span style="font-size:$1%;">$3</span>'
$SMF_markup = preg_replace( '/\[size=(.*?)\]/', '<span style="font-size:$1">', $SMF_markup );
// Replace '[/size]' with '</span>'
$SMF_markup = preg_replace( '/\[\/size\]/', '</span>', $SMF_markup );
// Replace non-break space ' ' with space ' '
$SMF_markup = preg_replace ( '/ /', ' ', $SMF_markup );
// Now that SMF custom HTML has been stripped put the cleaned HTML back in $field
$field = $SMF_markup;
// Parse out any bbCodes in $field with the BBCode 'parser.php'
require_once( bbpress()->admin->admin_dir . 'parser.php' );
$bbcode = BBCode::getInstance();
$bbcode->enable_smileys = false;
$bbcode->smiley_regex = false;
return html_entity_decode( $bbcode->Parse( $field ) );
}
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.