У меня есть HTML-строка , смешанная с PHP-кодами . поэтому я хочу просто оценить возможные коды и заменить их там. Моя идея примерно такая:
$html='Hi it <b>PAPION</b>. Now timestamp is <?php echo time(); ?>. have a good time.';
$html = preg_replace_callback('/(<\?php)(.*?)(\?>)/ims',function($matches){
try {
ob_start();
eval($matches[2]);
return ob_get_clean();
} catch(Exception $e) {
return "";
}
}, $html);
, и она отлично работает.
Но если в моем коде есть ошибка, например:
$html='Hi it <b>PAPION</b>. Now timestamp is <?php echo xxtime(); ?>. have a good time.';
$html = preg_replace_callback('/(<\?php)(.*?)(\?>)/ims',function($matches){
try {
ob_start();
eval($matches[2]);
return ob_get_clean();
} catch(Exception $e) {
return "";
}
}, $html);
вместо простоесли оставить место пустым, строка $ html останется пустой.
PHP> 5,4
любым способом справиться с этим?
С наилучшими пожеланиями!