我正面臨從html代碼調用PHP函數並填充函數參數的問題。 之後,HTML代碼與返回的函數值一起輸出。從HTML字符串調用php函數
中的示例:
某處在PHP文件中定義的函數
function html_field($type,$name,$value){
//some code here
return $out;
}
// or other example function
function boldme($text){
return "<b>$text</b>";
}
之後產生HTML輸出在字符串內的PHP函數(如標籤)
HTML字符串:
$html = "<h1><label for="foo">{call~html_field("text","name","value")} </label><input type="text" name="foo" id="foo" /> </h1>"
點OR
$html = "<h1><label for="foo">{call~boldme("text")} </label><input type="text" name="foo" id="foo" /> </h1>"
解決方案應結束,如:
$html = "<h1><label for="foo"><input type="text" name="name" ...> </label><input type="text" name="foo" id="foo" /> </h1>"
OR
$html = "<h1><label for="foo"><b>text</b> </label><input type="text" name="foo" id="foo" /> </h1>"
,要求過濾此字符串...
注意: 包含從模板和主題收集的html數據的字符串, 它們是純HTML,它們是中的不可知文件。
我使用preg_replace_callback
來創建所需的功能,但現在都走了,謝謝我的老闆....!@#!
這是不安全的,但你正在尋找[eval()函數(http://nl3.php.net/manual/en/function.eval .php) – 2013-04-24 11:28:31
我實際上更喜歡'preg_replace_callback()'在'eval()'上的任何一天。 – 2013-04-24 11:29:39
我試圖跳過eval()... – fire1 2013-04-24 11:29:50