Beispiel #1
0
 /**
  * 转换字符串中的ubb代码使可读
  * @param string 原字符串
  * @param string 目标平台 pc ios5 ios4
  * @return bool 是/否
  */
 public static function ubbDecode($s, $p_device = 'ios5')
 {
     $s = preg_replace('/\\n/i', "</p>\n<p>", $s);
     // $s = '<p>'.$s.'</p>';
     $s = W2String::ubbDecodeLite($s, $p_device);
     $s = preg_replace('/&lt;br&gt;/i', '<br />', $s);
     //quote
     do {
         $s = preg_replace('/\\[quote\\]([\\s\\S]*)\\[\\/quote\\]/', '<div class="ubb-quote">$1</div>', $s);
     } while (preg_match('/\\[quote\\]([\\s\\S]*)\\[\\/quote\\]/', $s));
     $s = preg_replace('/\\[b\\]([\\s\\S]*?)\\[\\/b\\]/', '<b>$1</b>', $s);
     $s = preg_replace('/\\[del\\](.+?)\\[\\/del\\]/i', "<del class='gray'> \$1 </del>", $s);
     //[de,$sl]
     $s = preg_replace('/\\[u\\](.+?)\\[\\/u\\]/i', "<u>\$1</u>", $s);
     //[,$su]
     $s = preg_replace('/\\[i\\](.+?)\\[\\/i\\]/i', "<i style='font-style:italic'>\$1</i>", $s);
     //[,$si]
     $s = preg_replace('/\\[color=(skyblue|royalblue|blue|darkblue|orange|orangered|crimson|red|firebrick|darkred|green|limegreen|seagreen|teal|deeppink|tomato|coral|purple|indigo|burlywood|sandybrown|sienna|chocolate|silver|gray)\\](.+?)\\[\\/color\\]/i', "<span style='color:\$1'>\$2</span>", $s);
     //[colo,$sr]
     $s = preg_replace('/\\[size=(\\d{1,3})%?\\](.*?)\\[\\/size\\]/i', '<span style="font-size:$1%;line-height:183%"></span>', $s);
     $s = preg_replace('/\\[font=(simsun|simhei|Arial|Arial Black|Book Antiqua|Century Gothic|Comic Sans MS|Courier New|Georgia|Impact|Tahoma|Times New Roman|Trebuchet MS|Script MT Bold|Stencil|Verdana|Lucida Console)\\](.+?)\\[\\/font\\]/i', "<span style='font-family:\$1'>\$2</span>", $s);
     //[fon,$st]
     $s = preg_replace('/\\[align=(left|center|right)\\]([\\s\\S]+?)\\[\\/align\\]/i', "<div style='text-align:\$1'>\$2</div>", $s);
     //[fon,$st]
     // );//[table] */
     return $s;
 }