0

试图在我的网页上打印这个:

<?php  

// Usage: $master=new WebSocket("localhost",12345);

class WebSocket{
  var $master;
  var $sockets = array();
  var $users   = array();
  var $debug   = false;

  function __construct($address,$port){
    error_reporting(E_ALL);
    set_time_limit(0);
    ob_implicit_flush();

    $this->master=socket_create(AF_INET, SOCK_STREAM, SOL_TCP)     or die("socket_create() failed");

只获得:

master=socket_create(AF_INET, SOCK_STREAM, SOL_TCP)     or die("socket_create() failed");

!!

同时,我可以在 Chrome Inspector Network 选项卡中看到它已正确传送到浏览器。

当我检查 PRE 元素时,我看到了这个:

<pre><!--?php  

// Usage: $master=new WebSocket("localhost",12345);

class WebSocket{
  var $master;
  var $sockets = array();
  var $users   = array();
  var $debug   = false;

  function __construct($address,$port){
    error_reporting(E_ALL);
    set_time_limit(0);
    ob_implicit_flush();

    $this--->master=socket_create(AF_INET, SOCK_STREAM, SOL_TCP)     or die("socket_create() failed");

</pre>

谁注释掉了代码,为什么,主要问题是如何阻止它!?


替换<?php&lt;?php和替换$this->$this-&gt;,您将获得预期的结果。 小提琴

通常,HTML 中的文字尖括号和 & 符号应替换为实体以避免误解。在这种情况下,Chrome 假定接收文字 PHP 代码是一个错误,而不是故意的,并将其转换为注释。我找不到任何说明它这样做的文档,但很明显发生了什么。

4

1 回答 1

2

替换<?php&lt;?php和替换$this->$this-&gt;,您将获得预期的结果。 小提琴

通常,HTML 中的文字尖括号和 & 符号应替换为实体以避免误解。在这种情况下,Chrome 假定接收文字 PHP 代码是一个错误,而不是故意的,并将其转换为注释。我找不到任何说明它这样做的文档,但很明显发生了什么。

于 2012-10-16T00:07:52.720 回答