PHP / MySQLアプリでマージタグを作成するにはどうすればよいですか?

ドミニク・カービー

私はPHP / MYSQL SaaSアプリを作成しており、現在(Swiftを使用して)電子メール機能に取り組んでいます。メールテンプレートをMySQLデータベースに保存する予定です(各テナントはそれらをカスタマイズできます)。ただし、テンプレートに動的データを含める必要もあります(名や姓などの「タグのマージ」)。単に{$test}DBに保存しようとしましたが、うまくいきませんでした。MySQLからデータをプルして変数をテキストにマージした後、Swiftに渡す前に何かする必要がありますか?

RToyo

私はSwiftライブラリに精通していませんが、ドキュメントを一目見ただけでは、変数を挿入するためのメッセージの解析については何もわかりませんでした。つまり、自分でそれを行う必要があるでしょう。

それを行う1つの方法は、メッセージ内の変数の位置を保持するための独自の(任意の)構文を考え出すことです。たとえば、{%VAR_NAME%}何かを使用したい場合があります

したがって、次のようにテンプレートを保存できます。

こんにちは{%recipient_name%}、

これは、請求書#{%invoice_num%}が{%invoice_date%}の時点で利用可能であることを通知するためのものです。

ありがとう、{%sender_name%}

そして、テンプレートがに格納されていると仮定すると$email_body、文字列の置換を行うことができます(、、str_replace()またはのようなものpreg_replace()。この単純なものについては、正規表現検索で物事を詰め込むことはお勧めしません)。以下は、それを実行する方法の例です。$search$replace配列は好きなように作成できますが、人間が読めるようにこのようにレイアウトしました。

// Original body:
$email_body = "Hello {%recipient_name%},
               This is to inform you that invoice #{%invoice_num%} is available as of {%invoice_date%}.
               Thank you, {%sender_name%}";

// Easily readable input values
$values = array(
    'recipient_name'    => $db_value['recipient_name'],
    'invoice_num'       => $db_value['invoice_num'],
    'invoice_date'      => date("Y-m-d"),
    'sender_name'       => $_SESSION['user_name']
);

// Break it up into the search and replace arrays
$search = array();
$replace = array();
foreach ($values AS $index => $value)
{
    $search[] = "{%" . $index . "%}"; // Wrapping the text in "{%...%}"
    $replace[] = $value;
}

// Do the replacement
$email_body = str_replace($search, $replace, $email_body);

ここでの主なアイデアは、プレースホルダーを特定の構文(たとえば{%VALUE%})で実際の値に置き換えることです$ search変数と$ replace変数をどのように生成するかはあなた次第です。

これは次のようなものを出力します:

こんにちはフー、

これは、請求書#123456が2017-05-19の時点で利用可能であることを通知するためのものです。

ありがとう、バー

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

カスタムPHPアプリケーションからWordPress投稿をプログラムで作成するにはどうすればよいですか?

分類Dev

PHPでビジュアルアーカイブを作成するにはどうすればよいですか?

分類Dev

PHPでMySQLプリペアドステートメントからJSONを作成するにはどうすればよいですか?

分類Dev

AndroidアプリからPHPに送信されたデータをHTMLページに表示するにはどうすればよいですか?

分類Dev

PHP、HTML、JavascriptからAndroidアプリを作成するにはどうすればよいですか?

分類Dev

PHP Slim-異なるルートに複数のアプリオブジェクトを作成するにはどうすればよいですか?

分類Dev

LaravelのPHPデータからグラフGoogleChartを作成するにはどうすればよいですか?

分類Dev

PHPで投稿データをプログラムで送信するにはどうすればよいですか?

分類Dev

PHPを使用してAndroidアプリをAmazonRDS MySQLデータベースに接続するにはどうすればよいですか?

分類Dev

RAD PHPXE2でPHPをアップグレードするにはどうすればよいですか

分類Dev

PHPアプリケーションでAngular 2を使用するにはどうすればよいですか?

分類Dev

PHPアプリケーションで、アプリ内でデータの受け渡しを処理するにはどうすればよいですか?

分類Dev

別のページにタグを付けてphpでセッションを作成するにはどうすればよいですか?

分類Dev

ライブラリなしでPHPでプリミティブイメージを作成するにはどうすればよいですか?

分類Dev

ライブラリなしでPHPでプリミティブイメージを作成するにはどうすればよいですか?

分類Dev

mysqlとphpでタイムスタンプに応じて値のパーセンテージを取得するにはどうすればよいですか?

分類Dev

xampp WindowsでPHPバージョンを5.4から5.6にアップグレードするにはどうすればよいですか?

分類Dev

JSONディクショナリを使用してPHPで単純なNLPワードマップを作成するにはどうすればよいですか?

分類Dev

PHPでPOSTリクエストを受信した後、リアルタイムでページを更新するにはどうすればよいですか?

分類Dev

IntelliJ 13でPHPプロジェクトを作成するにはどうすればよいですか?

分類Dev

PHPを使用してセッションCookieを含むログアウトページを作成するにはどうすればよいですか?

分類Dev

MySQLクエリを含むPHP関数を作成するにはどうすればよいですか?

分類Dev

PHP(ワードプレス)でフィルター可能なポートフォリオを作成するにはどうすればよいですか?

分類Dev

PHPでリンク解除ボタンを作成するにはどうすればよいですか?

分類Dev

このPHPスクリプトでXMLを作成するにはどうすればよいですか?

分類Dev

ラジオボタンのクリックでデータを挿入するにはどうすればよいですか-jquery / php / mysql?

分類Dev

PhpStormでデフォルトのPHPバージョン/インタープリターを設定するにはどうすればよいですか?

分類Dev

PHPでオブジェクトのコピーを作成するにはどうすればよいですか?

分類Dev

PHPでルーターを作成するにはどうすればよいですか?

Related 関連記事

  1. 1

    カスタムPHPアプリケーションからWordPress投稿をプログラムで作成するにはどうすればよいですか?

  2. 2

    PHPでビジュアルアーカイブを作成するにはどうすればよいですか?

  3. 3

    PHPでMySQLプリペアドステートメントからJSONを作成するにはどうすればよいですか?

  4. 4

    AndroidアプリからPHPに送信されたデータをHTMLページに表示するにはどうすればよいですか?

  5. 5

    PHP、HTML、JavascriptからAndroidアプリを作成するにはどうすればよいですか?

  6. 6

    PHP Slim-異なるルートに複数のアプリオブジェクトを作成するにはどうすればよいですか?

  7. 7

    LaravelのPHPデータからグラフGoogleChartを作成するにはどうすればよいですか?

  8. 8

    PHPで投稿データをプログラムで送信するにはどうすればよいですか?

  9. 9

    PHPを使用してAndroidアプリをAmazonRDS MySQLデータベースに接続するにはどうすればよいですか?

  10. 10

    RAD PHPXE2でPHPをアップグレードするにはどうすればよいですか

  11. 11

    PHPアプリケーションでAngular 2を使用するにはどうすればよいですか?

  12. 12

    PHPアプリケーションで、アプリ内でデータの受け渡しを処理するにはどうすればよいですか?

  13. 13

    別のページにタグを付けてphpでセッションを作成するにはどうすればよいですか?

  14. 14

    ライブラリなしでPHPでプリミティブイメージを作成するにはどうすればよいですか?

  15. 15

    ライブラリなしでPHPでプリミティブイメージを作成するにはどうすればよいですか?

  16. 16

    mysqlとphpでタイムスタンプに応じて値のパーセンテージを取得するにはどうすればよいですか?

  17. 17

    xampp WindowsでPHPバージョンを5.4から5.6にアップグレードするにはどうすればよいですか?

  18. 18

    JSONディクショナリを使用してPHPで単純なNLPワードマップを作成するにはどうすればよいですか?

  19. 19

    PHPでPOSTリクエストを受信した後、リアルタイムでページを更新するにはどうすればよいですか?

  20. 20

    IntelliJ 13でPHPプロジェクトを作成するにはどうすればよいですか?

  21. 21

    PHPを使用してセッションCookieを含むログアウトページを作成するにはどうすればよいですか?

  22. 22

    MySQLクエリを含むPHP関数を作成するにはどうすればよいですか?

  23. 23

    PHP(ワードプレス)でフィルター可能なポートフォリオを作成するにはどうすればよいですか?

  24. 24

    PHPでリンク解除ボタンを作成するにはどうすればよいですか?

  25. 25

    このPHPスクリプトでXMLを作成するにはどうすればよいですか?

  26. 26

    ラジオボタンのクリックでデータを挿入するにはどうすればよいですか-jquery / php / mysql?

  27. 27

    PhpStormでデフォルトのPHPバージョン/インタープリターを設定するにはどうすればよいですか?

  28. 28

    PHPでオブジェクトのコピーを作成するにはどうすればよいですか?

  29. 29

    PHPでルーターを作成するにはどうすればよいですか?

ホットタグ

アーカイブ