Гость
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Добавить в строку запятые / 17 сообщений из 17, страница 1 из 1
18.01.2018, 13:49
    #39586419
Shteef
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить в строку запятые
Здравствуйте. Скажите пожалуйста есть строка
Код: php
1.
$string= "Текст текст Текст текст 2018 Текст текст";

мне нужно между текстом вставить запятые что бы получилось Текст текст, Текст текст 2018, Текст текст .
Думал сделать через preg_replace чтобы перед каждой заглавной буквы кроме первой вставить запятую. Надеюсь кто-нибудь поможет!
...
Рейтинг: 0 / 0
18.01.2018, 14:29
    #39586449
Areostar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить в строку запятые
Shteef,

Можно пробелы на запятую поменять. но проблы в том что вам не каждый пробел менять надо...

Подумать надо.
...
Рейтинг: 0 / 0
18.01.2018, 14:37
    #39586457
Shteef
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить в строку запятые
Areostar, Пробовал, наверно нужно как то прописать условие что бы перед каждой заглавной буквой вставлял
...
Рейтинг: 0 / 0
18.01.2018, 14:54
    #39586472
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить в строку запятые
Код: php
1.
echo preg_replace("/\s([А-Я])/", ", \\1", "Текст текст Текст текст 2018 Текст текст");
...
Рейтинг: 0 / 0
18.01.2018, 15:05
    #39586484
Shteef
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить в строку запятые
vkle, Все работает! Спасибо вам огромное!!!! А как сделать если в строке есть кириллица и англ буквы?
...
Рейтинг: 0 / 0
18.01.2018, 15:06
    #39586485
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить в строку запятые
ShteefВсе работает!Ну-ну
...
Рейтинг: 0 / 0
18.01.2018, 15:22
    #39586499
Shteef
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить в строку запятые
vkle, Еще раз спасибо вам огромное!! Не знаю как насчет правильности написания кода, но сделал так и все работает)
Код: php
1.
2.
3.
4.
$text="Текст текст Текст текст 2018 Текст текст Sound";
$rus =preg_replace("/\s([А-Я])/", ", \\1", $text);
$eng =preg_replace("/\s([A-Z])/", ", \\1", $rus);
echo $eng;
...
Рейтинг: 0 / 0
18.01.2018, 15:50
    #39586517
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить в строку запятые
Shteef,

К выражению "все работает" обычно я отношусь скептически. На синтетических тестовых примерах вполне работает, а когда доходит до реальных данных - оно может оказаться совсем не так. Например, если перед заглавной буквой окажется не один пробел, а два или более. Или, по какой-то причине, запятая уже имеется. Конечно, Вам виднее, какие данные будут на входе.
Код правильный, в принципе. Только второе преобразование лишнее - оба диапазона можно было и в один класс поместить. А вообще, задача то из простейших. Почитайте доки http://php.net/manual/ru/pcre.pattern.php и будете писать подобные вещи не задумываясь.
...
Рейтинг: 0 / 0
18.01.2018, 16:12
    #39586537
Shteef
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить в строку запятые
vkle, Спасибо вам. Уже проверял все отлично работает! Получается я парсю подборки, каждая подборка в ссылке, я беру только текст ссылки)
...
Рейтинг: 0 / 0
19.01.2018, 00:34
    #39586758
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить в строку запятые
Shteef,

И несколько текстов объединяете в одну строку через запятую?
...
Рейтинг: 0 / 0
21.01.2018, 20:31
    #39587922
Areostar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить в строку запятые
vkle,

браво!
...
Рейтинг: 0 / 0
23.01.2018, 17:50
    #39589405
CrazyCat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить в строку запятые
вроде как можно одним выражением - [А-Я,A-Z]
...
Рейтинг: 0 / 0
23.01.2018, 19:47
    #39589508
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить в строку запятые
CrazyCat,

Можно. Только запятую зачем включать в класс?
...
Рейтинг: 0 / 0
24.01.2018, 09:02
    #39589675
CrazyCat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить в строку запятые
vkleCrazyCat,

Можно. Только запятую зачем включать в класс?
Да, она там лишняя. Давно с регулярными не работал.
...
Рейтинг: 0 / 0
27.01.2018, 14:11
    #39592151
Shteef
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить в строку запятые
vkle,
да и так их добавляю в WP метки
...
Рейтинг: 0 / 0
27.01.2018, 15:15
    #39592171
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить в строку запятые
Shteef,

Возможно, проще будет поместить каждый найденный текст из ссылки в элемент массива (если использовать preg_match_all() - оно так и будет), а потом слить в строку implode(', ', $texts).
...
Рейтинг: 0 / 0
27.01.2018, 15:20
    #39592172
Shteef
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить в строку запятые
vkle,
Наверно проще. Но я не умею(
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Добавить в строку запятые / 17 сообщений из 17, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]