`
web001
  • 浏览: 98772 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

在PHP中, 为什么</script>不产生语法解析错误

    博客分类:
  • PHP
php 
阅读更多

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 ?>一样,总是可用的,其他的两种需要在配置文件中打开。

  1. <? ... ?> (在配置文件中通过short_open_tag打开)
  2. <?php ... ?> 
  3. <script language="php"> ... </script> 
  4. <% ... %> (ASP风格标签,在5.3.0版中放弃使用)
2
1
分享到:
评论

相关推荐

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    你可以将上面的myfile.xml修改一下,比如将&lt; email&gt;改为&lt; Email&gt;,然后用IE5直接打开myfile.xml,会得到一个出错信息页面: &lt;?xml version="1.0" encoding="GB2312"?&gt; &lt;myfile&gt; &lt;title&gt;XML轻松学习手册&lt;/title&gt; ...

    ace.js 好用的web代码编辑器,支持多种语言js,python,java, php等

    - **引入Ace.js**:在HTML文件中通过`&lt;script&gt;`标签引入Ace.js库,一般会同时引入主文件和对应语言的模式文件。 - **设置编辑器**:创建一个HTML元素作为编辑器的容器,然后使用Ace.js的API初始化编辑器。 - **...

    PHP基础教程 是一个比较有价值的PHP新手教程!

    之后你在编码过程中如果遇到了什么麻烦,还可以再去翻阅相关文档。 PHP的语法与C,Perl,ASP或者JSP。对于那些对上述之一的语言较熟悉的人来说,PHP太简单了。相反的,如果你对PHP了解较多,那么你对于其他几种语言...

    php初级必看面试题

    - `include` 和 `require`:两者都能包含文件,但`require`在找不到文件时会抛出致命错误,而`include`只会产生警告。 - `关联数组`:`$aNewPara['name']`是标准的关联数组语法,键是字符串' name';而`$aNewPara...

    JS获取json文件内容并处理参考

    1. **引入jQuery库**:在HTML文件中,通过`&lt;script&gt;`标签引入jQuery库,确保页面加载完成后可以使用jQuery的方法。 ```html &lt;!DOCTYPE html&gt; &lt;html lang="zh"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;JS获取JSON...

    PHP PHP 是什么.docx

    需要注意的是,多行注释如果未正确关闭会导致解析错误,如Example #3所示。 ```php &lt;?php /*echo "This is a test"; /* This comment will cause a problem ?&gt; ``` PHP的指令分隔符通常不需要在最后一行添加分号,...

    PHP 定界符 使用技巧

    &lt;/script&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; EOF; ?&gt; ``` 在这个例子中,我们创建了一个包含简单HTML表格和JavaScript代码的文本,并通过变量`$name`插入了动态内容。使用定界符不仅让代码更加清晰,同时也避免了字符串转义带来...

    jsmart的使用教程

    &lt;script src="path/to/jsmart.min.js"&gt;&lt;/script&gt; ``` 三、基本语法 1. **变量插值**:在模板中,你可以使用`{$variable}`来插入JavaScript对象中的变量值。例如: ```html &lt;p&gt;Hello, {$name}!&lt;/p&gt; ``` 2. **...

    javascript 教程

    - **脚本语言定义**:脚本语言是一种编程语言,与编译型语言不同,它的源代码无需预先编译,在执行过程中进行语法解析。这使得脚本语言能够跨平台运行,并且易于修改。 - **客户端与服务器端脚本的区别**: - **...

    thinkphp5 js中显示php变量.docx

    此函数在模板中的使用格式通常为 `{:U('模块/控制器/方法', ['参数名' =&gt; '参数值'])}`。例如: ```php &lt;a href="{:U('User/Index/index')}"&gt;首页&lt;/a&gt; ``` 这段代码将生成一个链接,其 URL 地址指向 `User` 模块下...

    thinkphp使用literal防止模板标签被解析的方法

    模板标签的解析机制使得模板中的特定语法可以被框架识别并替换为实际的数据,但有时候我们可能需要在模板中直接输出某些标签或代码,而不是让模板引擎去解析它们。在这种情况下,Literal标签就显得非常实用。 ...

    phpchina官方教学PPT文档_01、欢迎来到PHP的世界

    在Web环境中,PHP脚本通常通过浏览器向服务器(如Apache)发送请求,服务器上的PHP解析器处理这些脚本并与MySQL数据库交互,获取或存储数据,然后将处理结果返回给浏览器显示。这一过程构成了典型的Web应用三层架构...

    jquery上传工具

    本篇文章将深入探讨如何使用jQuery实现异步文件上传功能,并重点解析名为"blueimp-jQuery-File-Upload-52417a8"的压缩包中的相关实体Demo。 首先,我们要理解jQuery的核心理念——“Write Less, Do More”。它提供...

    php javascript html mysql 特殊字符处理.txt

    JavaScript中也存在特殊字符,例如引号和反斜杠,需要正确处理以避免语法错误。 1. **字符串转义**:JavaScript字符串支持转义字符,如`\n`(换行)、`\t`(制表符)等。 - 示例代码: ```javascript var str = ...

    select-user-from-dropdown:当从下拉列表中选择用户名时,然后在Laravel中使用Ajax显示用户详细信息

    在本文中,我们将深入探讨如何在Laravel框架中利用Blade模板引擎和Ajax技术,实现一个功能:当用户从下拉列表中选择一个用户名时,系统通过Ajax异步请求获取并展示该用户的相关详细信息。这涉及到前端交互设计、后端...

    js 基本编程应用笔记(1).docx

    - **注意**:通常推荐将`&lt;script&gt;`标签放置在`&lt;body&gt;`标签的底部,以避免阻塞页面的其他内容加载。 ##### 2. 弹出警告框 - 使用`window.alert()`显示一个包含指定文本的警告框。 ```html &lt;a href="javascript:...

    Ajax 传递JSON实例代码

    &lt;/script&gt; &lt;/body&gt; &lt;/html&gt; ``` **3. JavaScript处理Ajax请求** 在JavaScript中,我们使用`XMLHttpRequest`或`fetch` API来实现Ajax请求。这里以`XMLHttpRequest`为例,展示如何发送GET和POST请求,并处理返回的...

    Laravel开发-codemirror

    Codemirror 是一个流行的、可自定义的、在Web应用中使用的代码编辑器,它提供了丰富的语法高亮、自动补全、代码折叠等特性,极大地提升了用户在网页上编写代码的体验。本文将详细探讨如何在Laravel项目中整合并使用...

    Jquery_GridView无刷新分页

    $('#gridView tbody').append('&lt;tr&gt;&lt;td&gt;' + row.field1 + '&lt;/td&gt;&lt;td&gt;' + row.field2 + '&lt;/td&gt;&lt;/tr&gt;'); } // 更新分页控件 updatePagination(data.totalPages); }, error: function() { // 处理错误 alert('...

Global site tag (gtag.js) - Google Analytics