首页 > 编程 > regex > 正文

自定义ubb代码,preg_replace()函数的一些代码

2020-01-20 22:27:04
字体:
来源:转载
供稿:网友
function ubb($Text) { 
  $Text=htmlspecialchars($Text); 
  $Text=ereg_replace("/r/n","<br>",$Text); 
  $Text=ereg_replace("/r","<br>",$Text); 
  $Text=nl2br($Text); 
  $Text=preg_replace("///t/is","  ",$Text); 
  $Text=preg_replace("//[h1/](.+?)/[//h1/]/is","<h1>//1</h1>",$Text); 
  $Text=preg_replace("//[h2/](.+?)/[//h2/]/is","<h2>//1</h2>",$Text); 
  $Text=preg_replace("//[h3/](.+?)/[//h3/]/is","<h3>//1</h3>",$Text); 
  $Text=preg_replace("//[h4/](.+?)/[//h4/]/is","<h4>//1</h4>",$Text); 
  $Text=preg_replace("//[h5/](.+?)/[//h5/]/is","<h5>//1</h5>",$Text); 
  $Text=preg_replace("//[h6/](.+?)/[//h6/]/is","<h6>//1</h6>",$Text); 

  $Text=preg_replace("//[url/](http:////.+?)/[//url/]/is","<a href=//1>//1</a>",$Text); 
  $Text=preg_replace("//[url/](.+?)/[//url/]/is","<a href=/"http:////1/">http:////1</a>",$Text); 
  $Text=preg_replace("//[url=(http:////.+?)/](.*)/[//url/]/is","<a href=//1>//2</a>",$Text); 
  $Text=preg_replace("//[url=(.+?)/](.*)/[//url/]/is","<a href=http:////1>//2</a>",$Text); 

  $Text=preg_replace("//[img/](.+?)/[//img/]/is","<img src=//1>",$Text); 
  $Text=preg_replace("//[color=(.+?)/](.+?)/[//color/]/is","<font color=//1>//2</font>",$Text); 
  $Text=preg_replace("//[size=(.+?)/](.+?)/[//size/]/is","<font size=//1>//2</font>",$Text); 
  $Text=preg_replace("//[sup/](.+?)/[//sup/]/is","<sup>//1</sup>",$Text); 
  $Text=preg_replace("//[sub/](.+?)/[//sub/]/is","<sub>//1</sub>",$Text); 
  $Text=preg_replace("//[pre/](.+?)/[//pre/]/is","<pre>//1</pre>",$Text); 
  $Text=preg_replace("//[email/](.+?)/[//email/]/is","<a href=//1>//1</a>",$Text); 
  $Text=preg_replace("//[i/](.+?)/[//i/]/is","<i>//1</i>",$Text); 
  $Text=preg_replace("//[b/](.+?)/[//b/]/is","<b>//1</b>",$Text); 
  $Text=preg_replace("//[quote/](.+?)/[//quote/]/is","<blockquote><font size='2' face='Courier New'>quote:</font><hr>//1<hr></blockquote>", $Text); 
  $Text=preg_replace("//[code/](.+?)/[//code/]/is","<blockquote><font size='2' face='Courier New'>code:</font><hr color='lightblue'><i>//1</i><hr color='lightblue'></blockquote>", $Text); 
  $Text=preg_replace("//[sig/](.+?)/[//sig/]/is","<div style='text-align: left; color: darkgreen; margin-left: 5%'><br><br>--------------------------<br>//1<br>--------------------------</div>", $Text); 
return $Text; 

function str($msg){
  global $admin;
  if(!$admin[html]) $msg=htmlspecialchars($msg);
  if($admin[ubb]) $msg=ubb($msg);
  $msg=nl2br($msg); #处理message
  $msg= str_replace("/n","",$msg); #处理message
  $msg= str_replace("/r","",$msg); #处理message
  return $msg;
}
function error($msg){
global $admin;
?>

中的
$Text=preg_replace("//[h2/](.+?)/[//h2/]/is","<h2>//1</h2>",$Text); 

里面的 ("//[h2](.+?)/[//h2]/is","<h2>//1</h2>",$text)

//[h2](.+?)/[//h2]/is  转化成 <h2>//1</h2>

//[h2](.+?)/[//h2]/is  里面的 这些"//(.+?)/ "之类的符号是怎么看的?是什么意思?
______________________________________________________________________________________________

/是转意,/本身是特殊符号,如果要作为普通字符就要用/来转意,就是说//表示()也是特殊符号,所以要用/转意
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表