PHP は正規表現を使用して UBB テキスト エディタを作成します

UBB エディターを見てみましょう。 Webサイトでよく使われるテキスト処理技術です。 UBB ファイルエディタを使用しているため、指定した形式が存在する可能性があります。私が指定しないフォーマットをウェブサイト上で表示することはできません。

効果を見てみましょう:

<?php
$string='[b]为你写诗[/b]
[i]为你做不可能事[/i]
[u]哎呀,哥不是写情诗[/u]
[color=Red]哥是在说歌词[/color]
[size=7]吴克群[/size]
[qq]123123123[/qq]';

//匹配UBB字符
$pattern=array(
    '/\[b\](.*)\[\/b\]/i',
    '/\[i\](.*)\[\/i\]/iU',
    '/\[u\](.*?)\[\/u\]/i',
    '/\[color=(.*?)\](.*?)\[\/color\]/',
    '/\[size=(\d)\](.*?)\[\/size\]/',
    '/\[qq\](\d{5,12})\[\/qq\]/',

    );

//需要替换的UBB字符
$replace=array(
    '<b>\1</b><br />',
    '<i>\1</i><br />',
    '<u>\1</u><br />',
    '<font color="\1">\2</font><br />',
    '<font size="\1">\2</font><br />',
    '<a href="http://wpa.qq.com/msgrd?V=1&Uin=\1&amp;Site=[Discuz!]&amp;Menu=yes"
 target="_blank"><img src="http://wpa.qq.com/pa?p=1:\1:1" border="0"></a>',
    );

//使用正则匹配$string,将$string当中的值变为$replace的效果
$ubb=preg_replace($pattern,$replace,$string);

echo $ubb;
?>

はより高度で、ユーザーにフォームで結果を渡したり、値を渡したりすることができます。

出力を UBB 形式に変換します。

次の章では、ファイル システムについて学び、さらに興味深いもの、Web ページ コレクターについて説明します。


学び続ける
||
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
$string='[b][/b]
[i][/i]
[u][/u]
[color=Red][/color]
[size=7][/size]
[qq]123123123[/qq]';
//UBB
$pattern=array(
'/\[b\](.*)\[\/b\]/i',
'/\[i\](.*)\[\/i\]/iU',
'/\[u\](.*?)\[\/u\]/i',
'/\[color=(.*?)\](.*?)\[\/color\]/',
'/\[size=(\d)\](.*?)\[\/size\]/',
'/\[qq\](\d{5,12})\[\/qq\]/',
);
//UBB
$replace=array(
'<b>\\1</b><br />',
'<i>\\1</i><br />',
'<u>\\1</u><br />',
'<font color="\\1">\\2</font><br />',
'<font size="\\1">\\2</font><br />',
'<a href="http://wpa.qq.com/msgrd?V=1&Uin=\\1&Site=[Discuz!]&Menu=yes"
target="_blank"><img src="http://wpa.qq.com/pa?p=1:\\1:1" border="0"></a>',
);
//使$string$string$replace
$ubb=preg_replace($pattern,$replace,$string);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
图片放大关闭