Normalerweise können Sie mit dem Try-Catch-Block keine Benachrichtigungen abfangen. Sie können jedoch Hinweise in Ausnahmen umwandeln! Verwenden Sie diesen Weg:
function get_notice($output)
{
if (($noticeStartPoint = strpos($output, "<b>Notice</b>:")) !== false) {
$position = $noticeStartPoint;
for ($i = 0; $i < 3; $i++)
$position = strpos($output, "</b>", $position) + 1;
$noticeEndPoint = $position;
$noticeLength = $noticeEndPoint + 3 - $noticeStartPoint;
$noticeMessage = substr($output, $noticeStartPoint, $noticeLength);
throw new \Exception($noticeMessage);
} else
echo $output;
}
try {
ob_start();
$codeOutput = ob_get_clean();
get_notice($codeOutput);
} catch (\Exception $exception) {
}
Mit dieser Funktion können Sie auch Warnungen abfangen. Ändern Sie einfach den Funktionsnamen in get_warning und ändern Sie "<b>Notice</b>:"
in "<b>Warning</b>:"
.
Hinweis: Die Funktion fängt eine unschuldige Ausgabe ab, die Folgendes enthält:
<b> Hinweis </ b>:
Um diesem Problem zu entkommen, ändern Sie es einfach in:
<b> Hinweis: </ b>