2012-01-22 15 views
0

まず、間違いをお詫びしたいと思います。英語は母国語ではありません。私が働いている会社は私のサイトの多くにショッピングカートをインストールしても大丈夫です。私はそれに精通していますが、私が理解できなかったこと(私は答えを見つけるためにすべてのファイルを読むことができません。誰かがすでにそれを知っている場合)は、グローバル変数(プレースホルダー)の仕組みです。 PHPファイル内のグローバル変数の名前が$ GLOBALS ['sample']の場合、これをhtmlファイルで呼び出すには%% GLOBAL_sample %%と書いてください。 strreplaceで関数を使用してhtmlをインクルードし、変数をPHPのcontentに置き換えるなど、いくつかのアイデアがあります。しかし、スクリプトでhtmlファイルをどのように編集するのですか?だから誰も彼らがそれをする方法を知っていますか?interspireのグローバル変数

答えて

1

私は自分のコードに似た何かを行っている、と私はそれを行う方法は、これらの線に沿っている:

ob_start(function($data) { 
    $data = str_replace("%KEYWORD%","replacement",$data); 
    return $data; 
}); 

私は自分のコードの先頭であることを配置します。もちろん、より多くのキーワードがあると便利ですが、グローバル変数をループして一致するものを探すことができるので、このコードは多くの適応に対応しています。それは私がこれのようなことをやっていく方法です。

EDIT:私はちょうど交換を行うために連想配列を使用してきちんとした方法に遭遇しました。

ob_start(function($data) { 
    return preg_replace_callback(
     "(%([^% ]+)%)", 
     function($m) { 
      static $reps = Array(
       "sample" => "replacement", 
       "test" => "successful", 
       "message" => "Hello" 
      ); // define your keywords here 
      if(isset($reps[$m[1]])) return $reps[$m[1]]; 
      return $m[0]; 
     }, 
     $data); 
}); 

サンプル入力:

%メッセージ%。この例は%sample%をテストし、うまくいけば%test%です。

出力:

こんにちは。この例では置換がテストされ、うまくいけば成功します。

+0

ご回答ありがとうございます。私はそのようなことを考えていた。しかし、私はこれを理解することはできません - 大丈夫、あなたはいくつかのテキストの%% variables %%を置き換えるスクリプトを作成します。しかし、どのようにhtmlファイルからそれらを得るのですか? * .htmlファイルをPHPに組み込み、PHPタグを含まない場合、パーサはすべてを平文で表示します。では、置き換えたいプレースホルダをどのように索引付けしますか? – user1163870

+0

編集:私はそれを把握すると思います - $ var = file_get_contents( 'test.html'); $ rep = str_replace( "GLOBAL"、 "something"、$ var); – user1163870

+0

置換えを処理するためのより良い方法が追加されました。回答の編集を参照してください。 –