変数値を取得し、html要素を出力するために文字列に追加しようとしています。ここに私のコードは次のとおりです。変数が文字列プロパティを失う
// String
$str = 'Some validations [IF TEST]<a href="text.html">firstValue</a>[ELSEIF TEST1]secondValue[/IF] in [IF OK]thirdValue[/IF] end of string.';
// Regex
$do = preg_match_all("/\[IF (.*?)\](.*?)(\[\/IF\]|\[ELSEIF(.*?)\](.*?)\[\/IF\])/i", $str, $matches, PREG_SET_ORDER);
$str = str_replace("[IF ". $matches[0][1] ."]", "<?php if($". $matches[0][1] ."){ echo('".$matches[0][2]."');} ?>", $str);
echo $str;
しかし、いくつかの理由のために、私は$マッチを使用するときに[0] [2]、それはブラウザでこの結果を与える私の文字列を破る:
Some validations firstValue');} ?>firstValue[ELSEIF TEST1]secondValue[/IF] in [IF OK]thirdValue[/IF] end of string.
とこれはソース:
Some validations <?php if($TEST){ echo('<a href="text.html">firstValue</a>');} ?><a href="text.html">firstValue</a>[ELSEIF TEST1]secondValue[/IF] in [IF OK]thirdValue[/IF] end of string.
ありがとうございます!
答えを受け入れる:http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work –