Задать вопрос
geometria
@geometria

Как разбить строку оператором explode?

$niceLinks = '<a href="'.$row['links'].'" target="_blank">'.$row['file_extension'].'</a>';
echo $niceLinks; /*jpeg, jpeg, jpeg, jpeg,  
выводится строка с одной ссылкой слитно на все файлы вида: 
http://example.com/file9 http://example.com/file10 http://example.com/file11 http://example.com/file12
 */
//далее разбиваю строку:
$linksArray = explode(',', $niceLinks);
var_dump($linksArray);
                                /*выводит массив:
                                array(9) {
                                [0]=>
                                string(50) "

                                string(42) " http://example.com/file10"
                                [2]=>
                                string(42) " http://example.com/file11"
                                [3]=>
                                string(42) " http://example.com/file12"
                                [4]=>
                                string(23) " " target="_blank">jpeg"
                                [5]=>
                                string(4) " jpeg"
                                [6]=>
                                string(4) " jpeg"
                                [7]=>
                                string(4) " jpeg"
                                [8]=>
                                string(5) "
                              "
                              }*/
echo '<pre>';
foreach ($linksArray as $value){
echo $value;
//в итоге получаю ОДНУ строку jpeg jpeg jpeg jpeg с ОДНОЙ ссылкой вида: 
http://example.com/file9 http://example.com/file10 http://example.com/file11 http://example.com/file12
}
echo '</pre>';


Как, все-таки, разбить строку по каждой ссылке?
  • Вопрос задан
  • 122 просмотра
Подписаться 1 Простой 9 комментариев
Решения вопроса 1
@alexalexes
Я так понимаю, что вы в запросе слепили строку со ссылками через запятую в свойстве $row['links'], и тоже самое сделали с расширениями в свойстве $row['file_extension'].
Чтобы собрать каждую ссылку со своим расширением файла нужно что-то такое сделать:
$linksArray = explode(',', $row['links']);
$extenArray = explode(',', $row['file_extension']);
$link = [];
foreach($linksArray as $index => $link_item)
{
  $link[] = '<a href="'.$link_item.'">'.(isset($extenArray[$index]) && $extenArray[$index] !== '' ? $extenArray[$index] : '').'</a>';
}
var_dump($link);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы