Lie16 火84 网(LieHuo24 .Net) teaches17 Cheng 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 Clipboard Quoted 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 Clipboard Quoted 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 Clipboard 引用的内容:
[www.bkjia.com]
function ubb2html($sUBB)
{
$sHtml=$sUBB;
$sHtml=preg_replace("/",'<',$sHtml);
$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",'$1>',$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; } ?>
http://www.bkjia.com/PHPjc/364726.html www.bkjia.com true http://www.bkjia.com/PHPjc/364726.html TechArticle 烈 16 火 84 网(LieHuo 24 .Net)教 17 程 最近给下载栏目增设一键转帖功能,烈火下载栏目是使用DedeCMS构建的,大家都知道dede没有一键转帖功能,...
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
Latest Articles by Author
2025-02-26 03:58:14
2025-02-26 03:38:10
2025-02-26 03:17:10
2025-02-26 02:49:09
2025-02-26 01:08:13
2025-02-26 00:46:10
2025-02-25 23:42:08
2025-02-25 22:50:13
2025-02-25 21:54:11
2025-02-25 20:45:11
Latest Issues
2025-03-26 19:56:00
2025-03-26 19:55:08
2025-03-26 19:52:08
2025-03-26 19:51:12
2025-03-26 19:50:14