単純なテンプレートパーサーの場合は、$00
、$11
などがHTMLに表示され、削除されています。私は10ドルが交換から取り除かれる原因となっている私のパターンに何があるかはわかりません。
奇妙なことは、タグを処理するメインのpreg_replace関数を除いて、ほとんどすべてのコードをコメントアウトしたことです。外見上、接続はありませんが、ほとんどすべてが削除されています。
機能(コメントアウトされているものが表示されない):
public function output() {
$output = file_get_contents($this->file);
foreach ($this->values as $key => $value) {
$dynamic = preg_quote($key);
$pattern = '%\[@'.$dynamic.'.*?\]%';
$output = preg_replace($pattern, $value, $output);
if ($key == 'objective') {
$objective = $value;
}
}
}
HTML抜粋:
: '客観的'(すなわち、$value
)の
[if @objective]<div id="objective">[@objective]</div>[/if]
オリジナル値
$ words $ 100!100は、私のマネジメントスキル、品質保証、プログラム開発、およびトレーニング経験を最大限にするXYZ Companyの役職を得ます。
'目的' の新しい値:
$言葉0 100は私の管理能力、品質保証、プログラム開発、およびトレーニングの経験を最大限XYZ Companyの位置を取得します!。
あなたの質問は何を付加することでドル記号を保護しますか? – Madbreaks
'$ xx'(' x'は数字)は、 'preg_replace'の置換文字列の後方参照に使用されます。おそらくそれはそれと関係がありますか? '$ value'が何であるか知らなくても、実際には分かりません。 –
@Madbreaks - なぜそれが起こっているのですか?この交換は望ましくありません。 – jsuissa