Если вы используете свой браузер, я сначала попробую, чтобы у вас не было расширений, блокирующих «всплывающие» скрипты, у меня была та же проблема, и проблема была в chrome popup js blocker, потому что простой adblocker не работает на некоторых сайтах.
веселит
Можно использовать heredoc, который поддерживает интерполяцию переменной, заставляя это выглядеть довольно аккуратным:
function TestBlockHTML ($replStr) {
return <<<HTML
<html>
<body><h1>{$replStr}</h1>
</body>
</html>
HTML;
}
Обращают пристальное внимание на предупреждение в руководстве, хотя - заключительная строка не должна содержать пробел, так не может быть расположен с отступом.
Да, существует: можно получить echo
текст редактора с помощью ob_start
:
<?php function TestBlockHTML ($replStr) { ob_start(); ?>
<html>
<body><h1> <?php echo ($replStr) ?> </h1>
</html>
<?php
return ob_get_clean();
} ?>
Создайте шаблонный файл и используйте движок шаблонов для читения/обновления файла. Это увеличит пригодность для обслуживания Вашего кода в будущем, а также разделит дисплей от логики.
пример с помощью Присяжный острослов :
Шаблонный Код Файла
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head><title>{$title}</title></head>
<body>{$string}</body>
</html>
function TestBlockHTML(){
$smarty = new Smarty();
$smarty->assign('title', 'My Title');
$smarty->assign('string', $replStr);
return $smarty->render('template.tpl');
}