【问题标题】:Check if div ID exists in PHP检查PHP中是否存在div ID
【发布时间】:2016-02-21 03:26:14
【问题描述】:

我有相同的 php 在 2 种情况下生成 HTML:

  1. 使用target="_new" 生成链接;
  2. 生成没有目标属性的链接。

我必须区分它们的唯一方法是将父 div 创建为不同的 ID(例如:<div id="new"> 第一个,'' 第二个。

有什么方法可以检查 html 中是否有一些 #new 并且它们设置了目标?

这是我目前尝试过的方法:

<?php $new = $html->find("#new"); ?>
<a href="<?php echo $item->getPrimaryLink()->getUrl(); ?>" <?php if (is_object($new)): ?> target="_new" <?php else : ?> <?php endif; ?> >

【问题讨论】:

  • @all 称之为预感,但我认为这是 Joomla 模板的一部分,而不是任何特定的 DOM 解析器 - 尽管它本身可能确实使用特定的解析器?跨度>
  • @Emissary 喜欢 OP 的消失让我们思考。
  • @TheHumbleRat 好吧,让我们不要过多关注它 - 它可能很容易成为另一个代码转储 "question" 没有任何解释......
  • @Emissary "嘿,看看这个只有8 声誉的user3086817 做这样的问题,让我断言他可能是一个拥有86438 个Joomla! 网站的新手,他甚至不能使用特定的解析器本身!”。严重的预感!
  • 不确定你从朋友那里得到了什么,但这听起来非常滑稽 - 关键是,如果你想要一个详细的答案,你需要在问题中加入细节 - 这包括你所使用的环境和工具集正在使用。如果您使用的是 Joomla,那么最好首先提及它并 tag 它,而不是当人们批评您的问题的质量时,不要把它个人化......

标签: php html


【解决方案1】:

如果你关注HTMLDOMPARSER,那么你可以关注:

$html = file_get_html('http://www.google.com/');
$is_new_exist=false;
if($html->find('div#new'))
$is_new_exist=true;

现在您可以使用该标志进行检查

如需进一步查询,请查看HTMLDOMPARSER

【讨论】:

    【解决方案2】:

    我想你可以使用类似的东西

    $new = $html->find("#new");
    if ($new) {
        echo something
    } else {
        echo something else
    }
    

    基于您使用 domdocument 或 html 解析器的假设。

    您不会使用target,而是使用&lt;a href="#new" 之类的东西,或者如果它在另一个页面上&lt;a href="somepage.php#new"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-24
      • 1970-01-01
      • 2019-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多