0

私は、エンドユーザーがコンテンツに挿入できるようにするいくつかの組み込みモジュール(カレンダー、天気など)を備えたカスタムCMSに取り組んでいます。CKEDITORを使用してコンテンツを入力できます。

に関するいくつかのヒントを探しています:

  1. これらのコードを入力するための推奨構文は何ですか?モジュール名と関連するパラメータを取得する必要があります。次のようなことを考えていました:{{module-name、width = 100、height = 200、items = 5}}
  2. これらを解析するのに最適なPHP関数は何ですか?

このタイプの機能を提供する可能性のあるいくつかのテンプレートライブラリがあることは知っていますが、この時点で、この部分を自分で構築しようとしています。

4

2 に答える 2

2

そのような (または同様の) 入力を解析する組み込みの方法はありません。テンプレート ライブラリを使用するか、自分でパーサーを作成する必要があります。

于 2012-05-29T19:08:43.557 に答える
1

プロジェクトの他の場所で誤って使用されない構文を選択してください。二重中括弧はおそらく問題ありません。

欲張りでないマッチングを使用した正規表現を使用して、それぞれの内臓を取得します

$matches = array();
preg_match("/\{\{(.*?)\}\}/", $content, $matches);

// or use the match all the grab all of them
preg_match_all("/\{\{(.*?)\}\}/", $content, $matches);

そこから、カンマで分割して個々のトークンを処理できます

$tokens = split(",", $module);
$module_name = array_shift($tokens);
foreach ($tokens as $token) {
    // process the token
}
于 2012-05-29T19:11:34.010 に答える