В Вашем вопросе, как я вижу, говорится о двух разных проблемах. Уточните, что именно Вам нужно
Можете перефразировать проблему с error_get_last? Не понятно.
$evalResult = @eval('$result = (bool)(1<2);');
$evalResult = null если выражение выполнилось с любым результатом
$evalResult = false если не выполнилось
~http[s]*://[^\s]+\.(jpe?g|png|gif)[\s\"\'$]~i