diff --git a/src/include/dedetag.class.php b/src/include/dedetag.class.php index f36131a7..16a61712 100755 --- a/src/include/dedetag.class.php +++ b/src/include/dedetag.class.php @@ -613,10 +613,15 @@ class DedeTagParse $phpcode = $refObj->GetInnerText(); } $phpcode = preg_replace("/'@me'|\"@me\"|@me/i", '$DedeMeValue', $phpcode); - @eval($phpcode); //or die("$phpcode"); + try { + @eval($phpcode); + + $this->CTags[$i]->TagValue = $DedeMeValue; + $this->CTags[$i]->IsReplace = TRUE; + } catch (Exception $e) { + //or die("$phpcode"); + } - $this->CTags[$i]->TagValue = $DedeMeValue; - $this->CTags[$i]->IsReplace = TRUE; } /** @@ -869,12 +874,18 @@ class DedeTagParse $functionname = str_replace("\"}", "\"]", $functionname); $functionname = preg_replace("/'@me'|\"@me\"|@me/i", '$DedeFieldValue', $functionname); $functionname = "\$DedeFieldValue = ".$functionname; - @eval($functionname.";"); //or die("$functionname"); - if (empty($DedeFieldValue)) { + try { + @eval($functionname.";"); + if (empty($DedeFieldValue)) { + return ''; + } else { + return $DedeFieldValue; + } + } catch (Exception $e) { + //or die("$functionname"); return ''; - } else { - return $DedeFieldValue; } + } /**