分解特定HTML元素中的内容

时间:2016-10-14 作者:Andrew

我试图在X个元素之后在站点中插入一些广告代码。我使用的基本代码来自使用标记(来自:http://www.wpbeginner.com/wp-tutorials/how-to-insert-ads-within-your-post-content-in-wordpress/):

function prefix_insert_after_list_item( $insertion, $paragraph_id, $content ) {
  $closing_p = \'</p>\';
  $paragraphs = explode( $closing_p, $content );
  var_dump($paragraphs);
  foreach ($paragraphs as $index => $paragraph) {

    if ( trim( $paragraph ) ) {
      $paragraphs[$index] .= $closing_p;
    }

    if ( $paragraph_id == $index + 1 ) {
      $paragraphs[$index] .= $insertion;
    }
  }

  return implode( \'\', $paragraphs );
}
我试图在某些元素之间插入段落,而不是段落。以下是我的HTML结构:

<div class="listing">
  <div class="list-item">
  </div>
  <div class="list-item">
  </div>
  <div class="list-item">
  </div>
  <div class="list-item">
  </div>
</div>
我想在列表项之间插入广告。更换$closing_p = \'</p>\'; 具有$closing_p = \'<div class="list-item">\'; 但似乎不起作用。是否有一种方法可以将WordPress中的整个$content元素作为目标,但将其作为父“列表”中的目标?或者有没有其他/更好的方法来完成我想做的事情?

1 个回复
SO网友:stims

通过将其更改为以下内容,您应该能够使其正常工作:

$closing_p = \'</div>\';
我希望我没有错过什么