テキストを表示し、選択したフィルターをそれに適用する必要があります。テキストは、text_format
フィールドタイプを使用して保存されます。
つまり、元のテキストは知っています。選択した形式の種類はわかっていますが、実際にテキストをフィルター処理する方法がわかりません。
プログラムでテキストをフィルター処理するにはどうすればよいですか?ありがとう
これ stackoverflowへの投稿 は、これをプログラムで行う方法を説明しています。
check_markup を呼び出して、テキストとフィルターIDを渡すだけです。
check_markup($text, $format_id = NULL, $langcode = '', $cache = FALSE)
テキストの一部に対して有効なすべてのフィルターを実行します。
check_markup()
関数を使用すると、テキスト形式を使用する必要があります(テキスト形式=フィルターの分岐)。
[〜#〜] one [〜#〜]のみを使用する場合は、完全なフィルター形式なしの完全なフィルター(例:改行をHTMLに変換)次に、このカスタム関数を使用します。
_/**
* Custom function to use only ONE filter wightout full format.
*
* @param {string} $string String to filter.
* @param {string} $filter Filter name to use on $string
* @return {string} Filtered string.
*/
function filter($string, $filter) {
$filters = filter_get_filters();
$filter_autop = $filters[$filter];
return $filter_autop['process callback']($string);
}
_
使用可能なフィルターのリストはdpm(filter_get_filters())
で確認できます。