UBB应用

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版、作者信息和本声明。否则将追究法律责任。http://blog.csdn.net/mayongzhan - 马永占,myz,mayongzhan

ubb代码,写过blog或者论坛的应该都知道.就是一种替代html标签的东西

在ubb实际使用当中用的最多的一个函数就是替换,就是把ubb替换成html,或者html替换成ubb(?这个用的少.)

ubb在很多编辑内容的时候会被用到.各大网站都有应用.为什么要用?其实我觉得不用ubb也可以解决所有的问题.没有必须要用什么技术的时候.只是有时侯要采用较成熟的,开发周期短的,相关资料多的,用户体验好的......

ubb在添加的时候是手动加的,一般都只需要解析成html的函数

[B]加粗[/B][U]下划[/U][I]斜[/I]

变成:

<strong>加粗</strong><u>下划</u><em>斜</em>

下面是我写的一个简单的类和测试代码

<?php

/**

* @name test.php

* @date Tue Dec 04 23:07:31 CST 2007

* @copyright 马永占(MyZ)

* @author 马永占(MyZ)

* @link http://blog.csdn.net/mayongzhan/

*/

header('Content-Type:text/html;charset=utf-8');

class UBB

{

private $str; //要替换的字符串

private $pattern = array(); //ubb标签

private $replace = array(); //html标签

function UBB()

{

$this->createPattern();

$this->createReplace();

}

//初始当前的pattern

private function createPattern()

{

$this->pattern = array('/\[b\]\s*(.+?)\[\/b\]/is',

'/\[u\]\s*(.+?)\[\/u\]/is',

'/\[i\]\s*(.+?)\[\/i\]/is');

}

//初始当前的pattern

private function createReplace()

{

$this->replace = array('<strong>\\1</strong>',

'<u>\\1</u>',

'<em>\\1</em>');

}

//附加到当前的pattern中

public function setPattern($pattern)

{

$this->pattern = array_merge($this->pattern, $pattern);

}

//附加到当前的replace中

public function setReplace($replace)

{

$this->replace = array_merge($this->replace, $replace);

}

//替换

public function swap($str)

{

$this->str = preg_replace($this->pattern, $this->replace, $str);

return $this->str;

}

}

//test

$str = "[B]加粗[/B][U]下划[/U][I]斜[/I]";

$ubb = new UBB();

echo $ubb->swap($str);

?>

在网上有个写的很好的ubb类,很不错,好象在chinaunix上见过.可以去找找

v

你可能感兴趣的:(html,PHP,.net,Blog,出版)