【问题标题】:How can I identify what part of my code caused an element on my page?如何确定我的代码的哪一部分导致了页面上的元素?
【发布时间】:2014-10-17 23:25:56
【问题描述】:

我的网站如下所示:

你好世界

这是由 index.php 中的 PHP 代码引起的

<?php

$var = 'Hello ';
$Var = 'World';
echo "$var $Var";

?>

那么,查看我的网站并看到它显示“Hello World”,有什么方法可以分析它(例如使用网络检查器)以找到创建文本的代码行?

我正在编辑一些其他人编写的代码,我想删除一个元素,但我不知道是什么代码导致它 - 我不能只用 Ctrl 搜索文件+F 因为它是可变元素,响应之前的动作。

【问题讨论】:

  • 在每个重要部分之前/之后输出 HTML cmets?
  • php 中的任何内容都是在服务器端执行的,因此您可以单击检查元素(在 safari、chrome 或 firefox 中)查看生成的 html,但据我所知,您看不到php.
  • 我会选择特定的 HTML 结构,而不是尝试查找 PHP 变量。说,使用萤火虫检查器等。
  • @Blue 嗯,所以这是不可能的。
  • @The 看起来不错 - 你的意思是添加 echoes 吗?

标签: php web-inspector


【解决方案1】:

您在浏览器中看不到 PHP 代码,因此对您没有多大帮助。

您应该浏览代码并跟踪那段代码,而不是搜索 HTML。

【讨论】:

    【解决方案2】:

    “有什么方法可以分析它(例如使用网络检查器)以查看创建文本的位置是第 5 行吗?”没有。

    PHP 是服务器端,当您的浏览器加载您的页面时,PHP 代码以 HTML(客户端)的形式出现

    【讨论】:

    • 但是我是服务器,可以逆向工程吗?
    【解决方案3】:

    制作您正在查看的文件的副本,然后将唯一的字符串添加到为页面生成输出的每段代码。

    例如:

    <?php
    
    $var = 'Hello ';
    $Var = 'World';
    
    // add in identifying info:
    $var = '<p>Start of $var</p>' . $var . '<p>End of $var</p>';
    $Var = '<p>Start of $Var</p>' . $var . '<p>End of $Var</p>';
    
    echo "$var $Var";
    

    如果您有返回输出的函数,您还可以用“Start of...”和“End of...”文本将它们包装起来,以计算出它们生成的 html。

    这是一种跟踪哪些代码产生了哪些输出的非常简单的方法。显然它不适合生产站点--如果您尝试在生产站点上执行此操作,您可以使用 html cmets,但我希望您有一个适合此类工作的开发环境!

    【讨论】:

    • 谢谢,我用它来缩小范围。
    【解决方案4】:

    也许

    <?php $var = 'Hello <!--'.__LINE__.'-->'; $Var = 'World <!--'.__LINE__.'-->'; echo "$var $Var <!--'.__LINE__.'-->'; ?>

    是你要找的那种..

    【讨论】:

      【解决方案5】:

      首先我查看了一般部分 (Alex's answer)。

      然后我最终注释掉页面的大部分看起来可能直到我想要去的元素(连同其他元素一起)消失然后逐渐缩小评论直到它删除该部分。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-05
        • 1970-01-01
        • 2018-02-21
        • 2010-10-03
        • 1970-01-01
        相关资源
        最近更新 更多