2 セットの配列を持つカスタム bb コード スクリプトがあります。最初の配列は bb タグのセットで、2 番目の配列は html タグです。ユーザーの投稿の長さを知りたいのですが、タグの内容は含まれていません。たとえば、[b]Hello, world![/b] は、タグ内の文字列のために 12 の長さになります。[img]http://www.mydomain.com/images/myimage.gif[/img] のようなものは 0 になります。
これを見つけたいのは、ユーザーがスレッドを作成して返信することで XP を獲得できる「経験値」システムが必要ですが、そのようなタグでポイントを獲得したくないからです。
$find = array(
"'\[b\](.*?)\[/b\]'is",
"'\[i\](.*?)\[/i\]'is",
"'\[u\](.*?)\[/u\]'is",
"'\[s\](.*?)\[/s\]'is",
"'\[img\](.*?)\[\/img\]'is",
"'\[url\](.*?)\[/url\]'i",
"'\[url=(.*?)\](.*?)\[/url\]'i",
"'\[link\](.*?)\[/link\]'i",
"'\[link=(.*?)\](.*?)\[/link\]'i",
"'\[h1\](.*?)\[\/h1\]'is",
"'\[h2\](.*?)\[\/h2\]'is",
"'\[h3\](.*?)\[\/h3\]'is",
"'\[ul\](.*?)\[\/ul\]'is",
"'\[li\](.*?)\[\/li\]'is",
"'\[p\](.*?)\[\/p\]'is"
);
$replace = array(
'<strong>\1</strong>',
'<em>\1</em>',
'<u>\1</u>',
'<s>\1</s>',
'<img src="\1" \1alt="User Image" />',
'<a href="\1">\1</a>',
'<a href="\1">\2</a>',
'<a href="\1">\1</a>',
'<a href="\1">\2</a>',
'<h1>\1</h1>',
'<h2>\1</h2>',
'<h3>\1</h3>',
'<ul>\1</ul>',
'<li>\1</li>',
'<p>\1</p>'
);