Php — Вставить После Второго Абзаца Без

Ярлык?

  • Автор темы Andreykaa
  • Обновлено
  • 21, Oct 2024
  • #1

Я использую код, подобный показанному ниже, для вставки рекламы после первого абзаца.

Проблема в том, что этот код требует, чтобы содержимое отображалось в тегах абзаца, и я хотел бы использовать этот код для вставки DIV.
Когда я просто заменяю теги тегами div, код больше не работает.

Как удалить теги абзаца из кода, сохранив при этом работоспособность кода?

 <?php
$paragraphAfter= 1; //display after the first paragraph
$content = apply_filters('the_content', get_the_content());
$content = explode("<p>", $content);
for ($i = 0; $i <count($content); $i++ ) {
if ($i == $paragraphAfter) { ?>

CONTENT GOES HERE

<?php }
echo $content[$i] . "</p>";
} ?>
 

#php #функции #single

Andreykaa


Рег
07 Apr, 2007

Тем
67

Постов
198

Баллов
573
  • 25, Oct 2024
  • #2

Я должен подчеркнуть, что я думаю, что это будет очень нестабильно, и вы не всегда сможете получить желаемые результаты, но в простых случаях это должно сработать.

 
 foreach 
||answer||

Этот похож на тот, что опубликован выше, однако есть дополнительный цикл для отображения всех абзацев после содержимого.

explode('</p>', $content)

wpautop( get_the_content() ) passes formatted post content to be split through paragraph tags with <?php $content = wpautop( get_the_content() ); $content = explode("</p>", $content); echo wpautop( $content[0] ).'</p>'; ?> <p>Special content or page breakpoint</p> <?php $i = 0; foreach ($content as $paragraph => $value) { if ( $i > 0 ) { echo wpautop( $content[$i] ); } $i++; } ?> и $content = apply_filters('the_content', get_the_content()); $content = explode("</p>", $content, 2); // var_dump($content); // debug echo $content[0].'</p>'; echo '<div>Extra Content</div>'; if (!empty($content[1])) { echo $content[1]; } to loop all paragraphs after the fold.

 

Abdalasis


Рег
11 Jan, 2018

Тем
86

Постов
227

Баллов
687
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно