【问题标题】:Add parent for each img with PHP使用 PHP 为每个 img 添加父级
【发布时间】:2013-02-15 18:41:29
【问题描述】:

我想用 PHP 为每个 img 添加父级。 我可以在 jQuery 中使用 wrap() 来做到这一点,但我不知道如何使用 PHP。

HTML:

<div id="main">
  <img src="..." />
  <img src="..." />
  <img src="..." />
  <img src="..." />
</div>

JS:

$("#main img").each(function(){ $(this).wrap('<div class="photo" />'); });

结果 HTML:

<div id="main">
  <div class="photo"><img src="..." /></div>
  <div class="photo"><img src="..." /></div>
  <div class="photo"><img src="..." /></div>
  <div class="photo"><img src="..." /></div>
</div>

【问题讨论】:

  • 嗯? oO如何在 PHP 中生成标记?
  • 为什么要在 PHP 中完成?如果你强烈想要这个,那么你必须通过字符串函数或正则表达式来做到这一点。你想要那个代码吗??
  • @KD 或者使用 DOM 处理器...
  • 为什么需要这样做?添加额外的标记几乎没有什么好处。就 CSS 和 JS 而言,您可以对 &lt;div&gt; 执行的几乎所有操作都可以像对 &lt;img&gt; 一样轻松完成,而无需包装器。这并不是说它是错误的。有些情况下是必要的,但有时当问“我该怎么做?”时,最好考虑“我应该这样做吗?”或“还有其他方法吗?”。

标签: php javascript jquery html dom


【解决方案1】:

Simple HTML DOM 可能是您的答案。

【讨论】:

    【解决方案2】:

    你可以用我下面做的函数来做。

    <?php
    $page = '
        <body>
            <div id="main">
                <img src="..." />
                <img src="..." />
                <img src="..." />
                <img src="..." />
            </div>
        </body>
    ';
    
    echo $page = wrapImg ( $page, 0 );
    
    function wrapImg ( $page, $offset )
    {
        if ( FALSE !== ( $startImg = strpos( $page, '<img', $offset ) )
          && FALSE !== ( $endImg = strpos( $page, '/>', $startImg ) )
        ) {
            $before = '<div class="photo">';
            $after = '</div>';
    
            $start = substr( $page, 0, $startImg );
            $img = substr( $page, $startImg, $endImg+2-$startImg );
            $end = substr( $page, $endImg+2);
    
            $page = $start . $before . $img . $after . $end;
            $length = ($startImg + strlen( $before . $img . $after )-1);
    
            $page = wrapImg ( $page, $length );
        }
    
        return $page;
    }
    ?>
    

    结果将是:

        <body>
            <div id="main">
                <div class="photo"><img src="..." /></div>
                <div class="photo"><img src="..." /></div>
                <div class="photo"><img src="..." /></div>
                <div class="photo"><img src="..." /></div>
            </div>
        </body>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-23
      • 1970-01-01
      • 2017-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多