BBCode 関数
導入
この拡張モジュールは、BBCode のテキストをパースして HTML やその他のマークアップ言語への変換を支援するためのものです。 正規表現を用いた一般的な手法に比べてはるかに高速にパースすることができます。 さらに、開始/終了タグの並べ替えをしたり 閉じ忘れているタグに自動的に終了タグを追加したりして、 正しい形式の HTML を生成するようにします。
0.10.1 以降では、シングルクォートやダブルクォート あるいは HTML エスケープしたダブルクォートによる 引数のクォートをサポートしています。
インストール手順
この PECL 拡張モジュールをインストールする方法は、 マニュアルの PECL 拡張モジュールのインストール という章にあります。 新規リリース・ダウンロード・ソースファイル・管理者情報・CHANGELOG といった関連する情報については、次の場所にあります。 » https://pecl.php.net/package/bbcode
別の方法としては、PHP で書かれた PEAR パッケージ » HTML_BBCodeParser を使用することもできます。
実行時設定
設定ディレクティブは定義されていません。
リソース型
BBCode 拡張モジュールで使用するリソースは、 BBCode_Container です。これは bbcode_create() が返すものです。
定義済み定数
以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。
- BBCODE_TYPE_NOARG (integer)
- この BBCode タグは、引数を受け取りません。
- BBCODE_TYPE_SINGLE (integer)
- この BBCode タグには、対応する終了タグはありません。
- BBCODE_TYPE_ARG (integer)
- この BBCode タグは、引数をひとつ必要とします。
- BBCODE_TYPE_OPTARG (integer)
- この BBCode タグは、オプションで引数をひとつ受け取ることができます。
- BBCODE_TYPE_ROOT (integer)
- この BBCode タグは、特別なルートタグ (ネストレベル 0) です。
- BBCODE_FLAGS_ARG_PARSING (integer)
- この BBCode タグの引数をパースする必要があります (引数自体も BBCode 拡張モジュールでパースします)。 0.10.2 以降では、引数のパーサとして別のパーサを使用することができます。
- BBCODE_FLAGS_CDATA_NOT_ALLOWED (integer)
- この BBCode タグにはコンテンツを含めることができません (自動的に空となります)。
- BBCODE_FLAGS_SMILEYS_ON (integer) - 0.10.2 以降
- この BBCode タグは、顔文字を受け付けます。
- BBCODE_FLAGS_SMILEYS_OFF (integer) - 0.10.2 以降
- この BBCode タグは、顔文字を受け付けません。
- BBCODE_FLAGS_ONE_OPEN_PER_LEVEL (integer) - 0.10.2 以降
- この BBCode タグは、同じ型のタグが同一ネストレベルに登場したときに自動的に閉じます。
- BBCODE_FLAGS_REMOVE_IF_EMPTY (integer) - 0.10.2 以降
- この BBCode タグは、中身が空の場合に自動的に削除します。 軽量な HTML を生成することができます。
- BBCODE_FLAGS_DENY_REOPEN_CHILD (integer) - 0.10.3 以降
- この BBCode タグは、閉じられていない子要素がが自動的に閉じられたときに、 再開させません。
- BBCODE_ARG_DOUBLE_QUOTE (integer) - 0.10.2 以降
- これはパーサのオプションで、ダブルクォート (") でクォートしたタグを受け付けます。
- BBCODE_ARG_SINGLE_QUOTE (integer) - 0.10.2 以降
- これはパーサのオプションで、シングルクォート (') でクォートしたタグを受け付けます。
- BBCODE_ARG_HTML_QUOTE (integer) - 0.10.2 以降
- これはパーサのオプションで、HTML 版のダブルクォート (") でクォートしたタグを受け付けます。
- BBCODE_AUTO_CORRECT (integer) - 0.10.2 以降
- これはパーサのオプションで、エラー時の対応方法を変更します。 タグをオープンした順に、自動的にタグを閉じます。 また、開始タグしか存在しない場合にも、 終了タグがあるかのように扱います。
- BBCODE_CORRECT_REOPEN_TAGS (integer) - 0.10.2 以降
- これはパーサのオプションで、エラー時の対応方法を変更します。 終了タグの並び順が間違っている場合に、 自動的にタグを再開します。
- BBCODE_DISABLE_TREE_BUILD (integer) - 0.10.2 以降
- これはパーサのオプションで、BBCode のパースを無効にします。 これは、単に "顔文字" の変換機能だけを使いたい場合に便利です。 be used.
- BBCODE_DEFAULT_SMILEYS_ON (integer) - 0.10.2 以降
- これはパーサのオプションで、 そのタグレベルで何もフラグが設定されていない場合に 顔文字を ON にします。
- BBCODE_DEFAULT_SMILEYS_OFF (integer) - 0.10.2 以降
- これはパーサのオプションで、 そのタグレベルで何もフラグが設定されていない場合に 顔文字を OFF にします。
- BBCODE_FORCE_SMILEYS_OFF (integer) - 0.10.2 以降
- これはパーサのオプションで、 顔文字のパースを完全に無効にします。
- BBCODE_SMILEYS_CASE_INSENSITIVE (integer) - 0.10.3 以降
- 単純なバイナリサーチではなく、 大文字小文字を区別せずに顔文字を検出します。
- BBCODE_SET_FLAGS_SET (integer) - 0.10.2 以降
- これは、完全なフラグをパーサに設定できるようにします。
- BBCODE_SET_FLAGS_ADD (integer) - 0.10.2 以降
- これは、パーサのフラグを ON に切り替えられるようにします。
- BBCODE_SET_FLAGS_REMOVE (integer) - 0.10.2 以降
- これは、パーサのフラグを OFF に切り替えられるようにします。
目次
- bbcode_add_element — bbcode 要素を追加する
- bbcode_add_smiley — 顔文字をパーサに追加する
- bbcode_create — BBCode リソースを作成する
- bbcode_destroy — BBCode_container リソースを閉じる
- bbcode_parse — 文字列を、指定した規則のもとでパースする
- bbcode_set_arg_parser — 別のパーサをアタッチして、引数のパース用に別のルールセットを設定する
- bbcode_set_flags — パーサのオプションを設定あるいは変更する