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