Там какой-либо путь состоит в том, чтобы возвратить HTML в функции PHP? (не создавая возвращаемое значение как строку)

Если вы используете свой браузер, я сначала попробую, чтобы у вас не было расширений, блокирующих «всплывающие» скрипты, у меня была та же проблема, и проблема была в chrome popup js blocker, потому что простой adblocker не работает на некоторых сайтах.

веселит

59
задан j08691 19 February 2016 в 17:31
поделиться

3 ответа

Можно использовать heredoc, который поддерживает интерполяцию переменной, заставляя это выглядеть довольно аккуратным:

function TestBlockHTML ($replStr) {
return <<<HTML
    <html>
    <body><h1>{$replStr}</h1>
    </body>
    </html>
HTML;
}

Обращают пристальное внимание на предупреждение в руководстве, хотя - заключительная строка не должна содержать пробел, так не может быть расположен с отступом.

81
ответ дан Community 24 November 2019 в 18:04
поделиться

Да, существует: можно получить echo текст редактора с помощью ob_start :

<?php function TestBlockHTML ($replStr) { ob_start(); ?>
    <html>
    <body><h1> <?php echo ($replStr) ?> </h1>
    </html>
<?php
    return ob_get_clean();
} ?>
66
ответ дан Konrad Rudolph 24 November 2019 в 18:04
поделиться

Создайте шаблонный файл и используйте движок шаблонов для читения/обновления файла. Это увеличит пригодность для обслуживания Вашего кода в будущем, а также разделит дисплей от логики.

пример с помощью Присяжный острослов :

Шаблонный Код Файла

<!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');
}
6
ответ дан Rob 24 November 2019 в 18:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: