0

対応するデータのあとがきで埋めることができる、文字列テンプレートを作成する良い方法を知っている人はいますか? 通信システム用です。

したがって、望ましい出力は次のようになります。

こんにちはバットマン、調子はどう?あなたの友達のスーパーマン、キャットウーマン、スパイダーマンはすでに私たちのサービスを利用しています。私たちのサービスを試してみませんか?

実際のデータはデータベースから取得する必要があるため、次のような一般的な処理方法が必要です。

こんにちは、{ユーザー名}、調子はどうですか? {If:HasFriendsWhoUseTheService}あなたの友人 {ListFriends} はすでに私たちのサービスを利用しています。{EndIf} 私たちのサービスを試してみませんか?

つまり、ユーザーにシステムを使用している友人がいない場合、真ん中の文は印刷されるべきではありません。

{username} や {ListFriends} などのフィールドを適切に置き換えることができる小さなシステムを構築したところですが、if ステートメントもいくつか必要であることに気付きました。

そのようなものをサポートするライブラリまたは同様のものを知っている人はいますか? 最大限の柔軟性を得るために、考慮すべきことが他にもあるかもしれません。

4

3 に答える 3

1

テンプレートを信頼できる人だけが編集する場合は、単純に PHP 自体を使用する必要があります。

Hello <?php echo $Username;?>, how are you doing?
<?php if ($ListFriends) : ?>
Your friends <?php echo $ListFriends;?> are already using our service.
<?php endif; ?>
Would you like to give our service a try?

テンプレート作成者に完全なプログラミング機能を許可することが受け入れられない場合は、Smartyのようなテンプレート エンジンを調べることができます(クラッシュ コースはこちら)。

于 2013-01-15T10:02:50.733 に答える
0

役立つ回答をありがとう!

関係するマネージャーと話し合い、要件を改善して、より簡単にできるようにしました。ユニバーサル システムを作成する簡単な方法がないため、{Username} や {Address} などの単純なフィールドのみを提供することになりました。

とにかく助けてくれてありがとう!

于 2013-01-18T09:07:10.523 に答える
0

カスタム パーサーを構築します。例として、このリンクで BBCode パーサーを表示できますhttp://forrst.com/posts/Simple_PHP_BBCode_Parser-N0z私が理解したように、文字列テンプレートは{Username}{if:Condition}Content{/endif}、 ... のようなタグで機能します。これは BBCode が行うことと同じです.

于 2013-01-15T10:09:37.207 に答える