在PHP中, 为什么</script>不产生语法解析错误
2012-12-19 10:50
661 查看
英文原文:In PHP, why does </script> not show a parse error?
中文译文:在PHP中, 为什么</script>不产生语法解析错误
PHP作为主流网站建设语言,在使用过程中有很多陷阱,需要程序员主意。
在PHP脚本中,如果写如下代码
<?php
</script>
?>
这个php脚本并没有提示任何错误,而是直接输出了 "?>"。感觉很不可思议,于是我们再写如下代码
<?php
</div>
?>
这次却提示解析错误,Parse error: syntax error, unexpected '<' in ...
为什么第一次的</script>不提示错误呢?
这时我们需要再仔细阅读一下PHP的相关手册了 there
are various ways of starting a block of PHP code:
可以在 PHP 中使用四对不同的开始和结束标记。其中两种,<?php ?> 和 <script language="php"> </script> 总是可用的。另两种是短标记和 ASP 风格标记,可以在 php.ini 配置文件中打开或关闭。尽管有些人觉得短标记和 ASP 风格标记很方便,但移植性较差,通常不推荐。
也就是所,php的标签有4中,而<script>也是其中之一,并且和<?php ?>一样,总是可用的,其他的两种需要在配置文件中打开。
<? ... ?> (在配置文件中通过short_open_tag打开)
<?php ... ?>
<script language="php"> ... </script>
<% ... %> (ASP风格标签,在5.3.0版中放弃使用)
中文译文:在PHP中, 为什么</script>不产生语法解析错误
PHP作为主流网站建设语言,在使用过程中有很多陷阱,需要程序员主意。
在PHP脚本中,如果写如下代码
<?php
</script>
?>
这个php脚本并没有提示任何错误,而是直接输出了 "?>"。感觉很不可思议,于是我们再写如下代码
<?php
</div>
?>
这次却提示解析错误,Parse error: syntax error, unexpected '<' in ...
为什么第一次的</script>不提示错误呢?
这时我们需要再仔细阅读一下PHP的相关手册了 there
are various ways of starting a block of PHP code:
可以在 PHP 中使用四对不同的开始和结束标记。其中两种,<?php ?> 和 <script language="php"> </script> 总是可用的。另两种是短标记和 ASP 风格标记,可以在 php.ini 配置文件中打开或关闭。尽管有些人觉得短标记和 ASP 风格标记很方便,但移植性较差,通常不推荐。
也就是所,php的标签有4中,而<script>也是其中之一,并且和<?php ?>一样,总是可用的,其他的两种需要在配置文件中打开。
<? ... ?> (在配置文件中通过short_open_tag打开)
<?php ... ?>
<script language="php"> ... </script>
<% ... %> (ASP风格标签,在5.3.0版中放弃使用)
相关文章推荐
- <h1>读取配置文件失败</h1>这通常意味着文件中有语法错误,请检查下面显示出的错误。<br /><br /><iframe src="show_config_errors.php" />
- &lt;?php}?&gt;格式导致错误 Parse error: syntax error, unexpected end of file in *.php on line 374
- VC 使用ADO连接数据库的问题!error C2059: 语法错误 : “<L_TYPE_raw>” .
- javascript里为什么不能把</script>放到字符串里
- 错误 1 error LNK2019: 无法解析的外部符号 "public: __thiscall chain<int>::~chain<int>(void)" (??1?$chain@H@@QAE@
- MFC使用ADO连接数据库的问题:error C2059: 语法错误 : “<L_TYPE_raw>”
- 【script代码段】通过<script src="http://xxx.com/index.php"></script>中的src属性将服务器断数据传到客户端
- JNI中用 javah.exe 产生头JNI-Style文件出现错误:无法访问 <class> 未找到 <class> 的类文件
- 为什么用Jsoup 解析不到 <tr> 下面的<td>
- 语法错误 : 缺少“;”(在“<class-head>”的前面) 错误
- @sed "$(SEDFLAGS)" < $< > $@ 语法解析
- PHP <?= Uri::base(false) ?> 无法解析
- 语法错误:“<L_TYPE_raw>” 意外的标记位于“;”之前
- PHP 位运算(&, |, ^, ~, <<, >>)及 PHP错误级别报告设置(error_reporting) 详解
- PHP无法解析短标签<? ?>的解决方案——不是引号的问题哦
- <script>标签的加载解析执行
- <?php echo "<script language=javascript>alert('".$var['id']."!');</script>"; ?>
- 【C++ STL】算法 <algorithm>中各种算法解析
- JSONP一种使用<script>元素获取数据的方法
- 为什么文件名不能包含下列任何字符 \/:*?“<>|