ntrtv 54 Опубликовано: 1 июля Рассказать Опубликовано: 1 июля (изменено) Добрый день. Сдаем каждый месяц отчеты по сайту в exel. В одном из столбцов - ссылка на картинку к новости. Стали делать описания к картинкам, и теперь ссылки формируются неправильно - в них попадает описание... Вот код, который отвечает в нашем скрипте за "поиск" ссылке в допполе "img": function analizeMedia($xfields, $type = 'img') { $catchData = ''; $xfieldsParts = explode("|", $xfields); foreach ($xfieldsParts as $key => $onePart) { if ($onePart == $type) { $catchData = $xfieldsParts[$key+1]; } } return $catchData; } Подскажите, пожалуйста, как теперь можно получать данные? Вышеприведенном коде, я так понимаю, ссылка бралась после разделителя "|", когда же добавляется описание, то оно как раз и находится после этого разделителя: img|описание картинки;ссылка Помогите, пожалуйста. Все картинки хранятся в формате webp Изменено 1 июля пользователем ntrtv Цитата Ссылка на сообщение Поделиться на других сайтах
alex32 941 Опубликовано: 1 июля Рассказать Опубликовано: 1 июля Это отдельный скрипт или плагин/модуль дле? Цитата Ссылка на сообщение Поделиться на других сайтах
ntrtv 54 Опубликовано: 1 июля Рассказать Опубликовано: 1 июля Автор 3 минуты назад, alex32 сказал: Это отдельный скрипт или плагин/модуль дле? отдельный. Цитата Ссылка на сообщение Поделиться на других сайтах
alex32 941 Опубликовано: 1 июля Рассказать Опубликовано: 1 июля Ну если простенько, можно так function analizeMedia($xfields, $type = 'img') { $catchData = ''; $xfieldsParts = explode("|", $xfields); foreach ($xfieldsParts as $key => $onePart) { if ($onePart == $type) { if (strpos($xfieldsParts[$key+1],";") !== false) $catchData = end(explode(";", $xfieldsParts[$key+1])); else $catchData = $xfieldsParts[$key+1]; } } return $catchData; } или так function analizeMedia($xfields, $type = 'img') { $catchData = ''; $xfieldsParts = explode("|", $xfields); foreach ($xfieldsParts as $key => $onePart) { if ($onePart == $type) { if (count(explode(";", $xfieldsParts[$key+1])) == 2) $catchData = end(explode(";", $xfieldsParts[$key+1])); else $catchData = $xfieldsParts[$key+1]; } } return $catchData; } Цитата Ссылка на сообщение Поделиться на других сайтах
ntrtv 54 Опубликовано: 1 июля Рассказать Опубликовано: 1 июля Автор Спасибо, но не работает ( Первый ошибку выдает. а второй такую ссылку: https://***.ru/uploads/posts/описание картинки|2024-05/d53091acbf_kadr.webp|1|0|800x450|59.1 Kb Цитата Ссылка на сообщение Поделиться на других сайтах
alex32 941 Опубликовано: 1 июля Рассказать Опубликовано: 1 июля 8 минут назад, ntrtv сказал: Первый ошибку выдает. а второй такую ссылку: https://***.ru/uploads/posts/описание картинки|2024-05/d53091acbf_kadr.webp|1|0|800x450|59.1 Kb Так это под 1 час назад, ntrtv сказал: img|описание картинки;ссылка ))) Там где сохраняются данные о картинке, размер, вес и тд, то вот так function analizeMedia($xfields, $type = 'img') { $catchData = ''; $xfieldsParts = explode("|", $xfields); foreach ($xfieldsParts as $key => $onePart) { if ($onePart == $type) { $tmp = html_entity_decode( $xfieldsParts[$key+1] ); $tmp = explode("|", $tmp); if (count($tmp) == 1 OR count($tmp) == 5 ) $catchData = $tmp[0]; else $catchData = $tmp[1]; } } return $catchData; } Это для допполя тип=загружаемое изображение, для тип=галерея. работать не будет 1 Цитата Ссылка на сообщение Поделиться на других сайтах
ntrtv 54 Опубликовано: 1 июля Рассказать Опубликовано: 1 июля (изменено) Автор 12 минут назад, alex32 сказал: Так это под ))) Там где сохраняются данные о картинке, размер, вес и тд, то вот так function analizeMedia($xfields, $type = 'img') { $catchData = ''; $xfieldsParts = explode("|", $xfields); foreach ($xfieldsParts as $key => $onePart) { if ($onePart == $type) { $tmp = html_entity_decode( $xfieldsParts[$key+1] ); $tmp = explode("|", $tmp); if (count($tmp) == 1 OR count($tmp) == 5 ) $catchData = $tmp[0]; else $catchData = $tmp[1]; } } return $catchData; } Это для допполя тип=загружаемое изображение, для тип=галерея. работать не будет это у нас и не галерея. а загружаемое изображение Последний код вроде работает! Потестирую сейчас. Спасибо! Изменено 1 июля пользователем ntrtv Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.