Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Учусь Wordpress
4 / 4 / 0
Регистрация: 23.09.2014
Сообщений: 393
1

Список превратить в строчку через запятую-пробел

15.10.2015, 21:47. Показов 861. Ответов 7
Метки нет (Все метки)

Получаю строковую переменную функцией

PHP
1
    $sub1=wp_list_categories( 'echo=0&hide_empty=0&title_li=,&orderby=id&show_count=1&use_desc_for_title=0&child_of=1&style=none' );
или без style

PHP
1
    $sub1=wp_list_categories( 'echo=0&hide_empty=0&title_li=,&orderby=id&show_count=1&use_desc_for_title=0&child_of=1' );
вывожу `
PHP
1
echo $sub1;
в итоге получается список
5 Puteshestvie S Detmi (3)
2015 В Европу на машине-2 (3)
aaa (1)
помогите с кодом который превратит эту строковую переменную не в список, а в строчку через запятую

5 Puteshestvie S Detmi (3), 2015 В Европу на машине-2 (3), aaa (1)
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.10.2015, 21:47
Ответы с готовыми решениями:

Считать значение с текстового файла, перечисленные через запятую или через пробел
Не могу найти функцию для дельфи, где выбранный мной файл считывался, занося значения в переменные....

Как сделать вывод массива в строчку через пробел?
как сделать что бы вывод массива был не так как в моей записи,а выводился массив a в строчку через...

Вывод данных из нескольких строк таблицы в одну строку через разделитель (пробел, запятую)
Добрый день! Есть табличка с адресами: addr ul1 ul2 dom вул. 1...

Вывести на экран квадраты всех натуральных чисел от 1 до N в строчку через пробел.
1. Вывести на экран квадраты всех натуральных чисел от 1 до N в строчку через пробел. 2. Вывести...

7
433 / 352 / 259
Регистрация: 29.11.2011
Сообщений: 628
15.10.2015, 22:05 2
"Костыльным" способом:

PHP
1
2
3
4
5
<?
$sub1=wp_list_categories( 'echo=0&hide_empty=0&title_li=,&orderby=id&show_count=1&use_desc_for_title=0&child_of=1' );
preg_match_all('/(?<=<li>).+(?=<\/li>)/iUs', $sub1, $matches);
echo implode(', ', $matches[0]);
?>
0
Учусь Wordpress
4 / 4 / 0
Регистрация: 23.09.2014
Сообщений: 393
15.10.2015, 22:41  [ТС] 3
ничего не выводит!!

Добавлено через 11 минут
выводит
Array
,
0
433 / 352 / 259
Регистрация: 29.11.2011
Сообщений: 628
15.10.2015, 22:56 4
А так?
PHP
1
2
3
4
5
6
7
8
9
<?
$sub1 = wp_list_categories('echo=0&hide_empty=0&title_li=,&orderby=id&show_count=1&use_desc_for_title=0&child_of=1');
 
$sub1 = preg_replace('/<.+>/sU', '', $sub1);
preg_match_all('/.+/', $sub1, $matches);
$sub1 = implode(', ', $matches[0]);
 
echo $sub1;
?>

Или так:
PHP
1
2
3
4
5
6
7
8
9
10
11
<?
ob_start();
wp_list_categories('echo=0&hide_empty=0&title_li=,&orderby=id&show_count=1&use_desc_for_title=0&child_of=1');
$sub1 = ob_get_clean();
 
$sub1 = preg_replace('/<.+>/sU', '', $sub1);
preg_match_all('/.+/', $sub1, $matches);
$sub1 = implode(', ', $matches[0]);
 
echo $sub1;
?>

Или так:
PHP
1
2
3
4
5
6
7
8
<?
$sub1 = wp_list_categories('echo=0&hide_empty=0&title_li=,&orderby=id&show_count=1&use_desc_for_title=0&child_of=1');
 
preg_match_all('/(<.+>)+?(.+)(<\/.+>)+?/iUs', $sub1, $matches);
$sub1 = implode(', ', $matches[2]);
 
echo $sub1;
?>
0
Учусь Wordpress
4 / 4 / 0
Регистрация: 23.09.2014
Сообщений: 393
15.10.2015, 23:20  [ТС] 5
1й вариант выводит, но пропадают ссылки
2й не выводит ничего
3й что то выводит, сторонний текст превращает в ссылки

Добавлено через 27 секунд
т.е. первый бы вариант допилить чтобы ссылки остались
0
433 / 352 / 259
Регистрация: 29.11.2011
Сообщений: 628
16.10.2015, 00:20 6
Вообще, чтобы точно ответить на ваш вопрос, нужно чтобы вы показали содержимое переменной $sub1 (включая все html теги, которая она содержит):
Вывести $sub1 можно таким способом:
HTML5
1
<pre><? print_r($sub1); ?></pre>
Заодно, вот еще пару вариантов, которые могут сработать...

Вариант 1:
PHP
1
2
3
4
5
6
7
8
<?
$sub1 = wp_list_categories('echo=0&hide_empty=0&title_li=,&orderby=id&show_count=1&use_desc_for_title=0&child_of=1');
 
preg_match_all('/(<a.+<\/a>)/Us', $sub1, $matches);
$sub1 = implode(', ', $matches[0]);
 
echo $sub1;
?>
Вариант 2:
PHP
1
2
3
4
5
6
7
8
9
<?
$sub1 = wp_list_categories('echo=0&hide_empty=0&title_li=,&orderby=id&show_count=1&use_desc_for_title=0&child_of=1');
 
$sub1 = preg_replace('/<[^a]+>\s?/sU', '', $sub1);
preg_match_all('/.+/', $sub1, $matches);
$sub1 = implode(', ', $matches[0]);
 
echo $sub1;
?>
0
Учусь Wordpress
4 / 4 / 0
Регистрация: 23.09.2014
Сообщений: 393
16.10.2015, 01:17  [ТС] 7
<pre><? print_r($sub1); ?></pre>
так не хочет работать


print_r($sub1);
а так выводит список

Добавлено через 16 минут
1 вариант выводит строчку,ссылками, но пропало количество постов в скобках
2й - список , ссылками, с количеством постов

Добавлено через 19 минут
вот скрин кода, может поможет
https://yadi.sk/i/P5yWa-zhjmPwp
https://yadi.sk/i/fEdsde3DjmQ2y это со style=none
0
433 / 352 / 259
Регистрация: 29.11.2011
Сообщений: 628
16.10.2015, 18:33 8
PHP
1
2
3
4
5
6
7
8
<?
$sub1 = .....
 
preg_match_all('/(<a.+)\s*(<\/li>|<br>)/Us', $sub1, $matches);
$sub1 = implode(', ', $matches[1]);
 
echo $sub1;
?>
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.10.2015, 18:33

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

В строке заменить пробел между слов на запятую и пробел
В строке заменить пробел между слов на запятую и пробел

Измените программу так, чтобы элементы массива выводились в строчку через пробел
1)Измените программу так , чтобы элементы массива выводились в строчку через пробел . static...

Определить время встречи и расстояние, пройденное первым участник в одну строчку через пробел
Всем добрый вечер! Нужна ваша помощь в решении задачи. Заранее благодарю!!! Задача z149....

В тексте вставить вместо одного пробела запятую и пробел, вместо двух пробелов - двоеточие и пробел
2) В тексте вставить вместо одного пробела запятую и пробел, вместо двух пробелов - двоеточие и...

Заменить нечетные элементы матрицы на 0 и вывести элементы в строчку через пробел
Дан двумерный массив ввести элементы с клавиатуры заменить нечетные элементы на 0 и вывести ...

Как создать подзапрос, возвращающий список значений через запятую
Добрый день, коллеги Есть 2 таблицы: студенты (Stud) IdStud int, NameStud char(20) и их оценки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.