Надо чуть чуть подредактировать код.

Discussion in 'PHP' started by Memfiso, 17 Apr 2010.

  1. Memfiso

    Memfiso New Member

    Joined:
    3 Apr 2010
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    В Wordpress получаем вот таким образом весь контент из записи блога

    PHP:
    <?php the_content(__('Read the rest of this entry &raquo;''kubrick')); ?>
    Каким образом можно получить только первую фотографию из, поста. Код HTML фото выглядит примерно так

    HTML:
    <a href="http://www.site.ru/wordpress/wp-content/uploads/2010/04/23012_21.jpg">
    <img class="aligncenter size-medium wp-image-9" src="http://www.site.ru/wordpress/wp-content/uploads/2010/04/23012_21-284x300.jpg" alt="" width="284" height="300" />
    <a href="http://www.site.ru/wordpress/wp-content/uploads/2010/04/013_fine_art_print_b.jpg">
    <img class="alignnone size-full wp-image-33" title="013_fine_art_print_b" src="http://www.site.ru/wordpress/wp-content/uploads/2010/04/013_fine_art_print_b.jpg" alt="" width="666" height="500" />
    </a></a>
     
    #1 Memfiso, 17 Apr 2010
    Last edited: 18 Apr 2010
  2. Memfiso

    Memfiso New Member

    Joined:
    3 Apr 2010
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    Хах, чо все ачатовские PHP прогеры сдулись? :D
     
  3. .::BARS::.

    .::BARS::. Elder - Старейшина

    Joined:
    13 Oct 2007
    Messages:
    379
    Likes Received:
    45
    Reputations:
    10
    регулярку юзай...
     
  4. POS_troi

    POS_troi Elder - Старейшина

    Joined:
    1 Dec 2006
    Messages:
    1,569
    Likes Received:
    466
    Reputations:
    108
    или доп. запрос
     
  5. Memfiso

    Memfiso New Member

    Joined:
    3 Apr 2010
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    Я никогда не занимался веб програмингом.

    По этому и попросил отредактировать код на получение первой картинки.

    думаю ничего сложно в таком запросе нет.

    Получить конт, если в строке есть img src присвоить какой нибудь переменной стринг строчку содержкащую img src от знака < до знака >
     
  6. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    оформи сначала пост нормально.
    Теги
    PHP:
    никто не отменял.
     
    #6 -=Zhenek=-, 18 Apr 2010
    Last edited: 18 Apr 2010
    1 person likes this.
  7. Memfiso

    Memfiso New Member

    Joined:
    3 Apr 2010
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    Если после этого ты сможешь выполнить просьбу, то легко.
    Однако обидно будет если ты просто сотресаешь воздух.
     
  8. shellz[21h]

    shellz[21h] Elder - Старейшина

    Joined:
    20 Dec 2007
    Messages:
    311
    Likes Received:
    68
    Reputations:
    6
    PHP:
    <?php
    $content 
    '
    <a href="http://www.site.ru/wordpress/wp-content/uploads/2010/04/23012_21.jpg">
    <img class="aligncenter size-medium wp-image-9" src="http://www.site.ru/wordpress/wp-content/uploads/2010/04/23012_21-284x300.jpg" alt="" width="284" height="300" />
    <a href="http://www.site.ru/wordpress/wp-content/uploads/2010/04/013_fine_art_print_b.jpg">
    <img class="alignnone size-full wp-image-33" title="013_fine_art_print_b" src="http://www.site.ru/wordpress/wp-content/uploads/2010/04/013_fine_art_print_b.jpg" alt="" width="666" height="500" />
    </a></a>'
    ;
     
    preg_match('!src="(.+)"\s+alt!'$content$src);
    print_r($src);
    ?>
     
  9. Memfiso

    Memfiso New Member

    Joined:
    3 Apr 2010
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0

    Это похоже почти то что надо!

    При этом коде выводится

    Array ( [0] => src="http://www.site.ru/wordpress/wp-content/uploads/2010/04/23012_21-284x300.jpg" alt [1] => http://www.site.ru/wordpress/wp-content/uploads/2010/04/23012_21-284x300.jpg )

    Что надо подправить что бы исчезло "Array ( [0] =>"
    и весь массив alt [1]
    Кст alt это переменная или побочный эфект?


    И ещё как присвоить что бы $content получал данные из
    PHP:
    <?php the_content(__('Read the rest of this entry &raquo;''kubrick')); ?>
    Пробовал вот так, но на странице дублируется содержимое, а массив остаётся пустым.

    PHP:
    <?php
    $content 
    the_content(kubrick);
     
    preg_match('!src="(.+)"\s+alt!'$content$src);
    print_r($src);
    ?> 
     
    #9 Memfiso, 19 Apr 2010
    Last edited: 19 Apr 2010
  10. shellz[21h]

    shellz[21h] Elder - Старейшина

    Joined:
    20 Dec 2007
    Messages:
    311
    Likes Received:
    68
    Reputations:
    6
    PHP:
     echo $src[1]; 
    Функция the_content() должна возвращать значение, т.е контекст... но она этого не делает. Скинь саму пользовательскую функцию the_content(), как она реализована.
     
  11. Memfiso

    Memfiso New Member

    Joined:
    3 Apr 2010
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0

    Вся функция вот
    PHP:
    <?php the_content(__('Read the rest of this entry &raquo;''kubrick')); ?>
    Немного погуглив
    Присвоение выполнилось вот таким методом.
    PHP:
    $content get_the_content(); 
     
  12. Memfiso

    Memfiso New Member

    Joined:
    3 Apr 2010
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    shellz[21h]

    ОГРОМНЫЙ РЕСПЕКТ!!!!

    ВСЁ ЧТО НАДО РЕАЛИЗОВАННО И ТОЛЬКО БЛАГОДАРЯ ТЕБЕ!!!

    СПАСИБО!
     
  13. Memfiso

    Memfiso New Member

    Joined:
    3 Apr 2010
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    Упс упустил отсутсвие картинки.

    Как сделать присвоение если echo $src[1]; пуст?
     
  14. shellz[21h]

    shellz[21h] Elder - Старейшина

    Joined:
    20 Dec 2007
    Messages:
    311
    Likes Received:
    68
    Reputations:
    6
    т.е. присвоение, не понял вопрос.
    так?
    PHP:

    if($src[1]) 
    echo 
    $src[1]; // картинка
    else echo $content
     
  15. Memfiso

    Memfiso New Member

    Joined:
    3 Apr 2010
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    Да.
     
    #15 Memfiso, 19 Apr 2010
    Last edited: 19 Apr 2010