我有這些代碼:這個preg_replace命令有什麼問題?
$string = 'Hello [*tt();*], how are you today?';
preg_match("/\[\*(.*?)\*\]/",$string,$match);
$func = $match[1];
$d = eval($func);
$newstring = preg_replace("/\[\*(.*?)\*\]/",$d,$string);
echo $newstring;
function tt() {
return 'test';
}
我想他們是從他們達到我的意思。我想替換tt();與其output.I預計它的工作,但tt();無(空字符串)替換。
哇,謝謝。爲什麼是eval壞?因爲它可以運行一個文本爲php代碼?我認爲當文本從用戶獲取時使用eval是不好的,但在我的情況下,文本是由管理員直接在數據庫中定義的。 – 2011-02-15 07:10:27
更新我的回答,比「eval是壞」更多的信息:D – Jacob 2011-02-15 07:19:12
謝謝雅各布;) – 2011-02-15 07:59:39