PHP代碼我想取代的PHP代碼字符串並運行來回服務器PHP:替換字符串
$x = 1;
$string = "OK:{first}Yes{second}No";
我想replace if($x == 1){
到{first}
和} else {
到{second}
運行後和echo $string
,我想造成HTML:
OK:是
PHP代碼我想取代的PHP代碼字符串並運行來回服務器PHP:替換字符串
$x = 1;
$string = "OK:{first}Yes{second}No";
我想replace if($x == 1){
到{first}
和} else {
到{second}
運行後和echo $string
,我想造成HTML:
OK:是
$string = str_replace("{first}","if($x == 1)",$string);
$string = str_replace("{second}","} else {",$string);
你是怎麼想出這種方法的?爲什麼不乾脆:
$string = $x == 1 ? 'OK:Yes' : 'OK:No';
這將讓你的字符串您根據$ x的值要。
此外,如果你字面上意味着你想要做的PHP代碼本身就是一個搜索正取代(如@OllyTenerife假設),那麼你打算把它寫入一個文件被執行後,或使用eval()
什麼的?聽起來不像那裏的正確軌道...在這種情況下,重新編碼您的代碼。
我想要replce php代碼串並運行它! ,如博客模板 – Mohammad
如果您想要將PHP代碼搜索並替換爲字符串,您將不得不使用'eval()'來評估您存儲在該字符串中的代碼。對於模板引擎,使用'eval()'是一個非常糟糕的主意。你最好只使用例如在您的HTML中添加{{}},然後在您的HTML中進行搜索替換,在其中用所需的值替換{result}。使用上面的代碼,然後運行'str_replace('{result}',$ string,$ HTMLcode);',其中$ HTMLcode是您的模板文件。 –
否則,如果你堅持在你的模板字符串中同時擁有這兩個選項,你將不得不使用'preg_replace()'來完成你的工作 - 並且假設你有一個以上的令牌,你將必須創建一堆正則表達式模式你打算替換。無論如何,試圖將PHP代碼替換爲字符串以進行評估並不是一個好主意。 –
輸出是錯誤的! – Mohammad