За последние 24 часа нас посетил 46271 программист и 1268 роботов. Сейчас ищут 1079 программистов ...

Середина статьи с условием

Тема в разделе "Прочие вопросы по PHP", создана пользователем bikerlex, 2 дек 2014.

  1. bikerlex

    bikerlex Активный пользователь

    С нами с:
    2 дек 2014
    Сообщения:
    344
    Симпатии:
    40
    PHP изучаю относительно недавно и возникла проблемка, не могу придумать как решить.
    Допустим есть такая разметка:
    Код (Text):
    1. <p></p>
    2. <p></p>
    3. <blockquote>
    4.     <p></p>
    5.     <p></p>
    6. </blockquote>
    7. <p></p>
    8. <p></p>
    И мне надо вставить свой текст в середину, после тега <p></p>.
    Для этого запилил такую функцию:
    Код (Text):
    1.  $all_p = substr_count($text, '<p>');
    2.         if($all_p % 2 == 0){
    3.             $paragraphAfter = $all_p/2;
    4.         } else {
    5.             $all_p = $all_p + 1;
    6.             $paragraphAfter = $all_p/2;
    7.         }
    8.         $content = explode ( "</p>", $text );
    9.         $text = '';
    10.         for ( $i = 0; $i < count ( $content ); $i ++ ) {
    11.             if ( $i == $paragraphAfter ) {
    12.                 $text .= Мой кусок для вставки;
    13.             }
    14.             $text .= "</p>".$content[$i];
    15.         }
    Т.е. для данной разметки мой кусок вставится после 3-го тега <p>
    Блок <blockquote> будет расположен в "случайном" месте. Т.е. в другой статье он может быть выше или ниже. Но в случай, если он посредине, как здесь, мне надо пропустить его и запихать свой текст после <p> не входящего в этот блок.
    Как проверить входит ли <p> в блок <blockquote>?
     
  2. metadon

    metadon Активный пользователь

    С нами с:
    6 фев 2006
    Сообщения:
    779
    Симпатии:
    0