0) {
$save .= $block;
if (preg_match("/^$tag_close$/", $block))
{
$depth--;
if ($depth == 0)
{
$output .= $prot_open.base64_encode($save).$prot_close;
$save = "";
}
}
} else {
$output .= $block;
}
}
return $output;
}
/** Unprotect base64 blocks.
*/
function textUnprotectTags($prot_open, $prot_close, $input)
{
$splits = preg_split("/($prot_open.+$prot_close)/",$input,-1,PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
$output = "";
foreach ($splits as $block) {
if (preg_match("/^$prot_open(.+)$prot_close$/", $block, $match)) {
$output .= base64_decode($match[1]);
} else {
$output .= $block;
}
}
return $output;
}
/** Protect HTML code from Textism.
*/
function htmlProtectFromTextism($input)
{
return textProtectTag("
]*>", "<\/table>", "{NOP:", ":NOP}", $input);
}
/** Restore HTML code that was protected from Textism.
*/
function htmlUnprotectFromTextism($input)
{
return textUnprotectTags("{NOP:", ":NOP}", $input);
}
/** Protect PHP code.
*/
function phpProtect($input)
{
return textProtectTag("<\?php", "\?>", "{PHP:", ":PHP}", $input);
}
/** Unprotect PHP code.
*/
function phpUnprotect($input)
{
return textUnprotectTags("{PHP:", ":PHP}", $input);
}
/** Convert XHTML-compliant tags to plain HTML.
*/
function xhtmlToHtml($input)
{
return html_accent(preg_replace("/<(br|img|input|p)( [^\/]*)?\/>/","<\$1\$2>",$input));
}
/** Restore XHTML-compliant tags.
*/
function htmlToXhtml($input)
{
return preg_replace("/<(br|img|input)( [^>]+)?>/","<\$1\$2/>",$input);
}
?>