从 HTML 中分离


从 HTML 中分离

当 PHP 解析一个文件时,会寻找开始和结束标记,标记告诉 PHP 开始和停止解释其中的代码。此种方式的解析可以使 PHP 嵌入到各种不同的文档中,凡是在一对开始和结束标记之外的内容都会被 PHP 解析器忽略。大多数情况下 PHP 都是嵌入在 HTML 文档中的,如下例所示。 <p>This is going to be ignored.</p>
<?php echo 'While this is going to be parsed.'?>
<p>This will also be ignored.</p>

还可以用更高级的结构:

Example #1 高级分离术

<?php
if ($expression) {
    
?>
    <strong>This is true.</strong>
    <?php
} else {
    
?>
    <strong>This is false.</strong>
    <?php
}
?>
上例可正常工作,因为当 PHP 碰到结束标记 ?> 时,就简单地将其后的内容原样输出( 除非其后紧接着一个新行,参见指令分隔符 )直到碰到下一个开始标记为止。当然,上面的例子很做作,但是对输出大块的文本而言,脱离 PHP 解析模式通常比将所有内容用 echo() 或者 print() 输出更有效率。

可以在 PHP 中使用四对不同的开始和结束标记。其中两种,<?php ?> 和 <script language="php"> </script> 总是可用的。另两种是短标记和 ASP 风格标记,可以在 php.ini 配置文件中打开或关闭。尽管有些人觉得短标记和 ASP 风格标记很方便,但移植性较差,通常不推荐。

Note:

此外注意如果将 PHP 嵌入到 XML 或 XHTML 中则需要使用 <?php ?> 以保持符合标准。

Example #2 PHP 开始和结束标记

1.  <?php echo 'if you want to serve XHTML or XML documents, do like this'?>

2.  <script language="php">
        
echo 'some editors (like FrontPage) don't
              like processing instructions'
;
    
</script>

3.  <? echo 'this is the simplest, an SGML processing instruction'?>
    <?= expression ?> This is a shortcut for "<? echo expression ?>"

4.  <% echo 'You may optionally use ASP-style tags'; %>
    <%= $variable; # This is a shortcut for "<% echo . . ." %>

上例中的 1 和 2 总是可用的,其中 1 是最常用,并建议使用的。

短标记(上例 3)仅在通过 php.ini 配置文件中的指令 short_open_tag 打开后才可用,或者在 PHP 编译时加入了 --enable-short-tags 选项。

ASP 风格标记(上例 4)仅在通过 php.ini 配置文件中的指令 asp_tags 打开后才可用。

Note:

在以下情况应避免使用短标记:开发需要发行的程序或者库,或者在用户不能控制的服务器上开发。因为目标服务器可能不支持短标记。为了代码的移植及发行,确保不要使用短标记。


«  基本语法
» 指令分隔符
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 CMS SQL jQuery C# C++ java Android IOS oracle MongoDB PostgreSQL SQLite 交通频道 宁海-扬中 辽阳-邵阳 昆山-临汾 丽江-克拉玛依 贵港-绥化 大连-德清 镇江-德州 喀什-雅安 招远-章丘 邢台-金昌 吕梁-张家界 海北-拉萨 济源-威海 汉中-龙海 重庆-河津 迁安-宁德 宁海-丽江 东营-天津 平凉-滁州 菏泽-增城 兖州-岳阳 吐鲁番-眉山 南京-渭南 九江-安顺 焦作-玉树 塔城-伊犁 肇庆-曲阜 平凉-武汉 牡丹江-信阳 昌吉-恩施 如东-增城 柳州-长兴 齐齐哈尔-乐清 商洛-宜昌 衡阳-佳木斯 永康-龙海 常德-梧州 海盐-南阳 大丰-南阳 忻州-武威 菏泽-锡林浩特 兰州-海盐 石河子-泸州 长乐-马鞍山 东台-晋江 青岛-马鞍山 四会-惠安 宜春-驻马店 通辽-呼和浩特 宜昌-朔州 靖江-漳州 唐山-遵化 崇左-长沙 黄冈-揭阳 库尔勒-锦州 阿勒泰-曲阜 海南-湖州 湘潭-无锡 厦门-台州 长治-宣城 晋中-三门峡 如皋-温岭 天门-沧州 西安-仙桃 汉中-府谷 兰州-亳州 吐鲁番-义乌 肇庆-海西 莱州-淮北 南安-珠海 荆门-保山 宁海-宝鸡 江都-嘉善 廊坊-瑞安 武汉-汕尾 垦利-吐鲁番 绵阳-云浮 临沧-玉树 平顶山-锡林浩特 驻马店-福清 西宁-格尔木 女儿河-南桥 威舍-瓦窑田 双城北-珲春 南京-鞍山 赤峰-大石桥 安德-红光镇 开封北-烟台 杭州-柳林南 瑞安-长兴 大连-银浪 瓦屋山-六安 绵阳-甘谷 康金井-绥中 夏拉哈马-西里 瓦房店西-海城西 萍乡-贵溪 鹤山-海伦 榆社-关林 阿克苏-库尔勒 临河-青铜峡 滕州-兰州 大庆-讷河 新余北-绍兴东 丹阳-潼南 扎兰屯-南充 眉山-乐山北 公主岭-凤凰城 醴陵-黄梅 桑根达来-东胜西 长兴-枣庄 郑州-广德 柳州-樟树 西宁-临河 葛根庙-海拉尔 铁岭西-抚顺北 湟源-西宁 广州南-三门峡南 温州南-北京南 南阳-安阳 牙拉盖图-六地沟 玉林-东莞 子洲-常州 葫芦岛北-长春 鞍山-兴安岭 滩头-豆沙关 茂名西-漳州 济宁-金华 六盘水-怀化 瓦房-奈曼 丽水-鹰潭北 鲁山-灵宝 庐山-包头 衡水-忻州 东光-吴桥 风水沟-八仙筒 长甸-林家台 南昌西-上饶 福泉-金华 临泽南-乌鲁木齐南 奈曼-叶柏寿 沁县-靖边 歪头山-长虹 唐河-广水 曲阜东-绍兴东 冯屯-聂河 西安-韦庄 沈阳北-绥芬河 春阳-牡丹江 洮南-济南东 西岭口-四平 确山-临颍 怀柔-庙城 海石湾-甘旗卡 海阳-济宁 东海县-宿州 锦州南-任丘 如皋-合肥 莆田-淄博 宣威-庐江

Copyright © 2016 phpStudy |