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;
}
+
}
/**