I am not a PHP expert and I only use a small number of AME definitions so this may have issues with some other definitions but I can explain what I changed to resolve the '/e modifier is deprecated' message in ame_bbcode.php near line 712
In the function ame_process_bbcode I made the following change.
Replace
Code:
$text = preg_replace($ameinfo['find'], $ameinfo['replace'], ($param2 ? $param2 : $param1), 1);
with the following
Code:
$text = '';
for ($i = 1; $i<count($ameinfo['find']); $i++) {
preg_match($ameinfo['find'][$i], $param1, $matches, PREG_OFFSET_CAPTURE);
if ($matches) {
$findStr = $ameinfo['find'][$i];
$replaceStr = $ameinfo['replace'][$i];
$findStr = preg_replace("/(~ie)/", "~i", $findStr);
$text = preg_replace_callback($findStr,
function($m) use($replaceStr) {
$rep = $replaceStr . ';';
$rep = str_replace('$param1', "'" . $m[1] . "'", $rep);
$rep = str_replace('\1', '', $rep);
$rep = str_replace('\2', '', $rep);
$rep = str_replace('\3', '', $rep);
$rep = str_replace('\4', '', $rep);
$rep = str_replace('\5', '', $rep);
$rep = str_replace('\6', '', $rep);
if (count($m) > 2) {
$rep = str_replace('$param2', "'" . $m[2] . "'", $rep);
$rep = str_replace('$p1', $m[2], $rep);
}
if (count($m) > 3) {
$rep = str_replace('$p2', $m[3], $rep);
}
if (count($m) > 4) {
$rep = str_replace('$p3', $m[4], $rep);
}
if (count($m) > 5) {
$rep = str_replace('$p4', $m[5], $rep);
}
if (count($m) > 6) {
$rep = str_replace('$p5', $m[6], $rep);
}
eval('$str='.$rep);
return $str;
},
($param2 ? $param2 : $param1), 1);
break;
} else {
$text = $param1;
}
}
I am really only using the youtube definition so I did not need the \1 through \6 options so I simply set them all to empty strings.
Hopefully this helps some people and maybe someone else can take it and improve upon it.
If this helps anyone and you want to tip anything I wouldn't refuse it.