php屏蔽一段HTML代码

<head><title>测试</title><style>body{color:#dedefe;}</style></head><body><?phpif(a==tru... <head>
<title>测试</title>
<style>
body{color:#dedefe;}
</style>
</head>
<body>
<?php
if (a==true){command 暂停输出;}
?>
<div> 这是第一部分 </div>
<?php
command 继续输出;
?>
<div> 这是第二部分 </div>
</body>

代码大概是上面那样子, 有什么办法把一段HTML代码屏蔽输出吗? 等条件满足的时候才输出.
我知道把HTML代码写到echo里面可以暂停输出, 但是如果HTML代码很长的时候, 就不是很方便了.
所以想知道PHP有没什么办法暂停输出的?
当暂停输出的时候
<div> 这是第一部分 </div>
不输出HTML代码
直到继续输出的时候才输出之后的HTML代码
展开
 我来答
维湾教育培训
2015-12-04 · 知道合伙人软件行家
维湾教育培训
知道合伙人软件行家
采纳数:3549 获赞数:13648

向TA提问 私信TA
展开全部
<?php& `8 ^, }, E' j/ W' j

function StripHTML($string){. \, V/ t+ d8 o
$pattern=array ("'<script[^>]*?>.*?</script>'si", "'<style[^>]*?>.*?</style>'si", "'<[/!]*?[^<>]*?>'si", "'([
])[s]+'", "'&(quot|#34);'i", "'&(amp|#38);'i", "'&(lt|#60);'i", "'&(gt|#62);'i", "'&(nbsp|#160);'i", "'&(iexcl|#161);'i", "'&(cent|#162);'i", "'&(pound|#163);'i", "'&(copy|#169);'i", "'&#(d+);'e");
$replace=array ("", "", "\1", "", "&", "<", ">", " ", chr(161), chr(162), chr(163), chr(169), "chr(\1)");7 f: V6 a$ D! s: q
return preg_replace ($pattern, $replace, $str);
}
" e/ P+ M# ]0 O9 R0 q
?>
利用strip_tags()就可以把html标签去除掉
<?php
$str = '<a href="http://harryxu.cn">harryxu</a>'; E' y! t( K6 m' |9 \
echo(htmlspecialchars($str) . '<br />');/ `" _* h" r# x5 i" \1 C
echo(strip_tags($str));
. P. t! i7 I5 D+ X% o
// output:
// <a href="http://harryxu.nc">harryxu</a> Y' T) V' y$ t- z: d% }! h
// harryxu
?>
去除所有js,html,css代码

$search = array ("'<script[^>]*?>.*?</script>'si", // 去掉 javascript
"'<style[^>]*?>.*?</style>'si", // 去掉 css
"'<[/!]*?[^<>]*?>'si", // 去掉 HTML 标记
"'<!--[/!]*?[^<>]*?>'si", // 去掉 注释标记# m# g3 V9 F- U! `8 O4 l, [
"'([rn])[s]+'", // 去掉空白字符3 p$ c& X7 x- y7 Q
"'&(quot|#34);'i", // 替换 HTML 实体+ E. t- E, L% u# ?( W
"'&(amp|#38);'i",0 D; g# s' Z" v" L
"'&(lt|#60);'i",
"'&(gt|#62);'i",
"'&(nbsp|#160);'i",
"'&(iexcl|#161);'i",# N* E! |7 }( y" p O1 O/ E
"'&(cent|#162);'i",2 T: J; m) a3 r
"'&(pound|#163);'i",8 E4 a: R4 B Z# V! \
"'&(copy|#169);'i",
"'&#(d+);'e"); // 作为 PHP 代码运行

$replace = array ("",
"",
"",
"",1 `1 Z0 I' x3 n$ }1 Q' ?+ K
"1",! N) R x7 [/ ^6 E6 O3 l
""",
"&",
"<",. c2 t3 T! L+ l* p. d) x# Q# @
">",
" ",
chr(161),) i' y# E& k1 I
chr(162),( h3 q/ C3 X5 [: O7 ~9 z4 s0 ?
chr(163),' g+ P! A. A% M( R
chr(169),
"chr(1)");
//$document为需要处理字符串,如果来源为文件可以$document = file_get_contents($filename);
$out = preg_replace($search, $replace, $document);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
iostream210
2011-12-10 · TA获得超过912个赞
知道小有建树答主
回答量:588
采纳率:0%
帮助的人:384万
展开全部
<?php
if (a==true){
//command 暂停输出;
?>
<div> 这是第一部分 </div>
<?php } else {
//command 继续输出;
?>
<div> 这是第二部分 </div>
<?php } ?>

不知道你是否表达这个意思
当a == true 是输出第一部分,否则输出第二部分
追问
是的.
为假的时候,不输出非PHP代码的部分,直到下段PHP代码的地方才继续运行,之后的非PHP代码部分正常显示.

但是两部分内容不在PHP代码里, 而是在HTML代码里.
追答
那以前就是你要的答案了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
北岛家9552
2011-12-11 · TA获得超过201个赞
知道小有建树答主
回答量:241
采纳率:0%
帮助的人:102万
展开全部
可以考虑配合css实现, display:none 和 display:inline 之间切换
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wixiaoduan
2011-12-10 · TA获得超过1273个赞
知道大有可为答主
回答量:1911
采纳率:50%
帮助的人:1221万
展开全部
使用
echo <<<doc
这里是内容
doc;
追问
能详细点吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式