Home > Backend Development > PHP Tutorial > PHP Convert HTML code to UBB forum code_PHP tutorial

PHP Convert HTML code to UBB forum code_PHP tutorial

WBOY
Release: 2016-07-21 14:53:37
Original
872 people have browsed it

Lie1684网(LieHuo24.Net) teaches17Cheng recently added a download section The one-click repost function, the Agni download column is built using DedeCMS. Everyone knows that dede does not have a one-click repost function, so I had to write one myself, and finally realized it. Write down the HTML to UBB code of the software introduction here.

One-click repost demonstration:

Regarding the problem of converting HTML to UBB code with PHP, the author found a few on the Internet, but they were not easy to use, so I modified and organized them myself. If you have other needs, you can leave a message below.

PHP code:

Copy to ClipboardLiehuo.Net CodesQuoted content: [www.bkjia.com] $intro = $liehuo-net; // Here is the variable value you obtained.
$intro = str_replace("n",'',$intro);
$intro = preg_replace("/]+HREF="([^"]+)"[ ^>]*>(.*?)/i","[url=$1]$2[/url]",$intro);
$intro = preg_replace("/< font(.*?)color="#([^ >]+)"(.*?)>(.*?)/i","[color =$2]$4[/color]",$intro);
$intro = preg_replace("/]+)"( .*?)>(.*?)/i","[face=$2]$4[/face]",$intro);
$intro = preg_replace("/]+)"(.*?)>(.*?)/i", "[size=$2]$4[/size]",$intro);
$intro = preg_replace("/]+src="([^"]+)"[^> ;]*>/i","[img]$1[/img]",$intro);
$intro = preg_replace("/]+ALIGN="([^" ]+)"[^>]*>(.*?)
/i","[align=$1]$2[/align]",$intro);
$intro = preg_replace ("/]+ALIGN="([^"]+)"[^>]*>(.*?)

/i","[align=$1 ]$2[/align]",$intro);
$intro = preg_replace("/<([/]?)u>/i","[$1u]",$intro);
$intro = preg_replace("/<([/]?)em>/i","[$1I]",$intro);
$intro = preg_replace("/<([/]?) strong>/i","[$1b]",$intro);
$intro = preg_replace("/<([/]?)i>/i","[$1i]",$intro );
echo $intro; // Finally get the UBB code
?>

Now that we know the conversion of HTML to UBB, can UBB return HTML? Please refer to the code below, collected online.

Code 1:

Copy to ClipboardLiehuo.Net CodesQuoted content: [www.bkjia.com] function ubb2html($strCodes) {
$match = array(
"%[b](.*?)[/b]%si",
"%[center ](.*?)[/center]%si",
"%[url](.*?)[/url]%si",
"%[url=(.*?)]( .*?)[/url]%si",
"%[img](.*?)[/img]%si",
"%[fieldset=(.*?)](.* ?)[/fieldset]%si"

);
$replace = array(
"$1",
"
$1
",
"$1",
"$2< /a>",
"
",
"
$1$2
"
);
$strCodes = preg_replace($match, $replace, $strCodes);

return $strCodes ;
}
?>

Code 2:

Copy to ClipboardLiehuo.Net Codes引用的内容:[www.bkjia.com] function ubb2html($sUBB)
{
$sHtml=$sUBB;
$sHtml=preg_replace("/$sHtml=preg_replace("/>/",'>',$sHtml);
$sHtml=preg_replace("/r?n/",'
',$sHtml);
$sHtml=preg_replace("/[(/?)(b|u|i|s|sup|sub)]/i",'<$1$2>',$sHtml);
$sHtml=preg_replace("/[colors*=s*([^]]+?)]/i",'',$sHtml);
function getSizeName($match)
{
$arrSize=array('8pt','10pt','12pt','14pt','18pt','24pt','36pt');
return '';
}
$sHtml=preg_replace_callback("/[sizes*=s*(d+?)]/i",'getSizeName',$sHtml);
$sHtml=preg_replace("/[fonts*=s*([^]]+?)]/i",'',$sHtml);
$sHtml=preg_replace("/[backs*=s*([^]]+?)]/i",'',$sHtml);
$sHtml=preg_replace("/[/(color|size|font|back)]/i",'
',$sHtml);

for($i=0;$i<3;$i++)$sHtml=preg_replace("/[aligns*=s*([^]]+?)](((?![align(?:s+[^]]+)?])[sS])*?)[/align]/",'

$2

',$sHtml);
$sHtml=preg_replace("/[img]s*([sS]+?)s*[/img]/i",'',$sHtml);
function getImg($match)
{
$p1=$match[1];$p2=$match[2];$p3=$match[3];$src=$match[4]; title="烈火提示:点击查看"
$a=$p3?$p3:($p2?$p1:'');
return '';
}
$sHtml=preg_replace_callback("/[imgs*=(?:s*(d+)s*,s*(d+)s*)?(?:,?s*(w+)s*)?]s*([sS]+?)s*[/img]/i",'getImg',$sHtml);
$sHtml=preg_replace("/[url]s*([sS]+?)s*[/url]/i",'$1',$sHtml);
$sHtml=preg_replace("/[urls*=s*([^]s]+?)s*]s*([sS]+?)s*[/url]/i",'$2',$sHtml);
$sHtml=preg_replace("/[email]s*([sS]+?)s*[/email]/i",'$1',$sHtml);
$sHtml=preg_replace("/[emails*=s*([^]s]+?)s*]s*([sS]+?)s*[/email]/i",'$2',$sHtml);
$sHtml=preg_replace("/[quote]([sS]*?)[/quote]/i",'
$1
',$sHtml);
$sHtml=preg_replace("/[code]([sS]*?)[/code]/i",'$1',$sHtml);
function getFlash($match)
{
$w=$match[1];$h=$match[2];$url=$match[3];
if(!$w)$w=550;if(!$h)$h=400;
return '';
}
$sHtml=preg_replace_callback("/[flashs*(?:=s*(d+)s*,s*(d+)s*)?]([sS]+?)[/flash]/i",'getFlash',$sHtml);
function getMedia($match)
{
$w=$match[1];$h=$match[2];$play=$match[3];$url=$match[4];
if(!$w)$w=550;if(!$h)$h=400;
return '';
}
$sHtml=preg_replace_callback("/[medias*(?:=s*(d+)s*,s*(d+)s*(?:,s*(d+)s*)?)?]([sS]+?)[/media]/i",'getMedia',$sHtml);
function getTable($match)
{
$w=$match[1];$b=$match[2];
$str='if($w)$str.=' width="'.$w.'"';
if($b)$str.=' bgcolor="'.$b.'"';
return $str.'>';
}
$sHtml=preg_replace_callback("/[table(?:s*=s*(d{1,4}%?)s*(?:,s*([^]]+)s*)?)?]/i",'getTable',$sHtml);
function getTR($match){return '';}
$sHtml=preg_replace_callback("/[tr(?:s*=(s*[^]]+))?]/i",'getTR',$sHtml);
function getTD($match){
$col=$match[1];$row=$match[2];$w=$match[3];
return '1?' colspan="'.$col.'"':'').($row>1?' rowspan="'.$row.'"':'').($w?' width="'.$w.'"':'').'>';
}
$sHtml=preg_replace_callback("/[td(?:s*=s*(d{1,2})s*,s*(d{1,2})s*(?:,s*(d{1,4}%?))?)?]/i",'getTD',$sHtml);
$sHtml=preg_replace("/[/(table|tr|td)]/i",'',$sHtml);
$sHtml=preg_replace("/[*]([^[]+)/i",'
  • $1
  • ',$sHtml);
    function getUL($match)
    {
    $str='if($match[1])$str.=' type="'.$match[1].'"';
    return $str.'>';
    }
    $sHtml=preg_replace_callback("/[list(?:s*=s*([^]]+)s*)?]/i",'getUL',$sHtml);
    $sHtml=preg_replace("/[/list]/i",'',$sHtml);
    return $sHtml;
    }
    ?>

    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/364726.htmlTechArticle烈 16 火 84 网(LieHuo 24 .Net)教 17 程 最近给下载栏目增设一键转帖功能,烈火下载栏目是使用DedeCMS构建的,大家都知道dede没有一键转帖功能,...
    source:php.cn
    Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
    Popular Recommendations
    Popular Tutorials
    More>
    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template