查数据表,比如查文章表,得到的是一个二维数组,然后用while循环遍历出来。html和php混编,我截图了。你自己试下,不行再问我。
htmlspecialchars() 函数把预定义的字符转换为 HTML 实体。
语法:
htmlspecialchars(string,flags,character-set,double_encode)
预定义的字符是:
& (和号)成为 &
" (双引号)成为 "
' (单引号)成为 '
< (小于)成为 <
> (大于)成为 >
htmlspecialchars_decode() 函数把一些预定义的 HTML 实体转换为字符。
语法:
htmlspecialchars_decode(string,flags)
会被解码的 HTML 实体是:
& 解码成 & (和号)
" 解码成 " (双引号)
' 解码成 ' (单引号)
< 解码成 < (小于)
> 解码成 > (大于)
.....各位都在回答什么啊....-_-#
你可以在模板里,先匹配出当前URL那个数字,然后在while里面加判断,是就输出,不然不输出。
<body>..html代码...<?php $str = $_SERVER['REQUEST_URI']; $p = "/.*\/=(\d+)/"; $res = array(); preg_match($p,$str,$res); $cur_url_num = $res[1]; // Hold住,模板里面用变量存起来 ?> <?php while ($cate->next()): ?> <?php if(!$cate->parent): ?> <!-- 检查即将输出的URL是否含有目标数字,是就echo --> <?php if(strpos($cate->permalink(), '='.$cur_url_num) !== false): ?> <a href="<?php $cate->permalink(); ?>"><?php $cate->name(); ?></a> <?php endif;?> <?php endif;?><?php endwhile; ?> ..html代码...</body>
其实就是多一个步骤,判断是否你要的URL而已,另外推荐你先检查有没有直接输出当前循环下的ID,例如$cate->id();什么的,有就这个判断:if($cate->id() == $cur_url_num):
因为你把HTML加载到脚本里面, 样式JS脚本路径都是相对于脚本来加载的
当我看到你的这段代码后我首先想到的是,这是一个纯粹的php文件,里面只有一段php内容 不管内容里到底有什么。也许你是作为接口的一部分,或者别的什么都好。总之我就认为是一个页面了,是你所需要请求的一个页面事先准备的接口。你的想法很简单,那就是用模板标签输入你现在字符串中的内容,加上你后来可能输出的php部分的模板标签,第一个----- 如果是接口,当这个文件被调用后,你的那个模板内容{$arr[link']} 在你所请求的页面 是否有控制器专门指定了$arr这个值分配到前端模板里面了呢。如果没有分配访问不到该数据正常。第二个-----这个模板页面可能是公共部分也说不定,那么请问在公共控制器中是否有分配这个页面数据$arr如果没有访问不到该数据正常最后:一般来说在tp中或者说任何框架中,一个数据想要被解析出来第一件事情,一定是在控制器层或者路由层有所指定变量,如果不指定变量,那么一定不可能让你在分离的情况下很好的解析的。 希望对你有所帮助
<?php echo '<pre>'; var_dump(file_get_contents('http://www.google.com.hk')); //or use this method echo htmlentities(file_get_contents('http://www.google.com.hk'));本回答被提问者采纳
<?php$reftime = localtime(time(), true);$prftime = sprintf("%s-%s-%s %s:%s:%s",$reftime['tm_year']+1900,$reftime['tm_mon']+1,$reftime['tm_mday'],$reftime['tm_hour'],$reftime['tm_min'],$reftime['tm_sec']);echo $prftime;?>
PHP将整个网站生成HTML纯静态网页的方法如下:
代码如下:
<?php
//在开始处加入 ob_start();
ob_start();
//以下是你的代码
//在结尾加入 ob_end_clean(),并把本页输出到一个变量中
$temp = ob_get_contents();
ob_end_clean();
//写入文件
$fp = fopen(‘文件名','w');
fwrite($fp,$temp) or die(‘写文件错误');
?>
这只是最基本的方法,还不是很实用,因为网站是要更新的,要定期重新生成HTML
用下面的方法: 代码如下:
if(file_exists(“xxx.html”))
{
$time = time();
//文件修改时间和现在时间相差半小时一下的话,直接导向html文件,否则重新生成html
if($time - filemtime(“xxx.html”) < 30*60)
{
header(“Location:xxx.html”);
}
}
//在开始处加入 ob_start();
ob_start();
//页面的详细内容
//在结尾加入 ob_end_clean(),并把本页输出到一个变量中
$temp = ob_get_contents();
ob_end_clean();
//写入文件
$fp = fopen(‘xxx.html','w');
fwrite($fp,$temp) or die(‘写文件错误');
//重新导向
header(“Location:xxx.html”);
下面是一些用到的函数的介绍:
1、Flush:刷新缓冲区的内容,输出。
函数格式:flush()
说明:这个函数经常使用,效率很高。
2、ob_start :打开输出缓冲区
函数格式:void ob_start(void)
说明:当缓冲区激活时,所有来自PHP程序的非文件头信息均不会发送,而是保存在内部缓冲区。为了输出缓冲区的内容,可以使用ob_end_flush()或flush()输出缓冲区的内容。
3 、ob_get_contents :返回内部缓冲区的内容。
使用方法:string ob_get_contents(void)
说明:这个函数会返回当前缓冲区中的内容,如果输出缓冲区没有激活,则返回 FALSE 。
4、ob_get_length:返回内部缓冲区的长度。
使用方法:int ob_get_length(void)
说明:这个函数会返回当前缓冲区中的长度;和ob_get_contents一样,如果输出缓冲区没有激活。则返回 FALSE。
5、ob_end_flush :发送内部缓冲区的内容到浏览器,并且关闭输出缓冲区。
使用方法:void ob_end_flush(void)
说明:这个函数发送输出缓冲区的内容(如果有的话)。
6、ob_end_clean:删除内部缓冲区的内容,并且关闭内部缓冲区
使用方法:void ob_end_clean(void)
说明:这个函数不会输出内部缓冲区的内容而是把它删除!
7、ob_implicit_flush:打开或关闭绝对刷新
使用方法:void ob_implicit_flush ([int flag])
说明:使用过Perl的人都知道$|=x的意义,这个字符串可以打开/关闭缓冲区,而ob_implicit_flush函数也和那个一样,默认为关闭缓冲区,打开绝对输出后,每个脚本输出都直接发送到浏览器,不再需要调用 flush().
如果你的html代码和php代码在同一个文件里,就直接<?php echo $test;?>,如果不在就用ajax请求一下,php页面直接echo $test; html的js就能接收到数据了。。