1

是否可以在 html 中放置某种占位符,然后我可以在从 PHP 获取它后填充一个值?

例如,如果我想根据仅在页面稍后发生的 Mysql 查询的第一个结果更改 html 页面的标题,我该怎么做?

<html>
  <head> 
    <title> </title>
</head>

<?php $title = mysql_query() ?>

--> how to update now the <title> element of the page?

我经常遇到我需要在 html 中打印的东西,只是在 PHP 页面渲染的后期,有没有办法(JS?)做这样的事情?

4

4 回答 4

1

重构 PHP 和 HTML,以便在开始呈现页面之前提取和存储页面所需的数据。您的示例变为:

<?php
  // extract your `title` data
  $myTitle = "MyTitle";

?>

<html>
  <head> 
    <title><?php echo $myTitle; ?> </title>
  </head>
<body>
<!-- render rest of page... -->
于 2013-08-29T01:20:56.997 回答
1

请参阅http://php.net/ob_start上的 «示例 #1 用户定义的回调函数示例»

于 2013-08-29T01:22:42.480 回答
1

有两种方法可以做你想做的事,即在页面完全交付后向页面呈现内容,正如你正确指出的那样

  1. Ajax - 使用动态 javascript 和 XML 有很多很好的教程可以做到这一点
  2. 对于使用纯 javascript 并设置元素的“innerhtml”属性的内部元素。

两种方法都使用客户端脚本,不能称为 PHP 实现本身

于 2013-08-29T01:23:14.447 回答
0

我只是把那个php放在标题中......

<title><?php echo $title; ?></title>

但这也可以用 javascript 来完成:

document.title = "<?php echo $title; ?>";
于 2013-08-29T01:21:16.877 回答