PDA

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


Memfiso
17.04.2010, 13:30
В Wordpress получаем вот таким образом весь контент из записи блога

<?php the_content(__('Read the rest of this entry &raquo;', 'kubrick')); ?>

Каким образом можно получить только первую фотографию из, поста. Код 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>

Memfiso
18.04.2010, 11:31
Хах, чо все ачатовские PHP прогеры сдулись? :D

.::BARS::.
18.04.2010, 11:53
регулярку юзай...

POS_troi
18.04.2010, 12:08
или доп. запрос

Memfiso
18.04.2010, 20:07
Я никогда не занимался веб програмингом.

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

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

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

-=Zhenek=-
18.04.2010, 20:43
оформи сначала пост нормально.
Теги [PHP][/PHP] никто не отменял.

Memfiso
18.04.2010, 21:24
оформи сначала пост нормально.
Теги никто не отменял.

Если после этого ты сможешь выполнить просьбу, то легко.
Однако обидно будет если ты просто сотресаешь воздух.

shellz[21h]
18.04.2010, 23:09
<?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);
?>

Memfiso
19.04.2010, 00:14
']<?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);
?>


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

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

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 the_content(__('Read the rest of this entry &raquo;', 'kubrick')); ?>

Пробовал вот так, но на странице дублируется содержимое, а массив остаётся пустым.

<?php
$content = the_content(kubrick);

preg_match('!src="(.+)"\s+alt!', $content, $src);
print_r($src);
?>

shellz[21h]
19.04.2010, 01:03
Что надо подправить что бы исчезло "Array ( [0] =>"
и весь массив alt [1]
Кст alt это переменная или побочный эфект?
echo $src[1];
Пробовал вот так, но на странице дублируется содержимое, а массив остаётся пустым.
Функция the_content() должна возвращать значение, т.е контекст... но она этого не делает. Скинь саму пользовательскую функцию the_content(), как она реализована.

Memfiso
19.04.2010, 01:13
'] echo $src[1];

Функция the_content() должна возвращать значение, т.е контекст... но она этого не делает. Скинь саму пользовательскую функцию the_content(), как она реализована.


Вся функция вот
<?php the_content(__('Read the rest of this entry &raquo;', 'kubrick')); ?>

Немного погуглив
Присвоение выполнилось вот таким методом.
$content = get_the_content();

Memfiso
19.04.2010, 01:15
shellz[21h]

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

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

СПАСИБО!

Memfiso
19.04.2010, 02:03
Упс упустил отсутсвие картинки.

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

shellz[21h]
19.04.2010, 03:45
т.е. присвоение, не понял вопрос.
так?


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

Memfiso
19.04.2010, 06:23
Да.