Русский English Deutsch Українська Қазақша

Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не вошли.

#1 2017-04-14 06:04:41

irbees2008
Продвинутый чайник
Откуда: Шахтинск
Здесь с 2012-03-14
Сообщений: 2,739
Рейтинг :   114 
Сайт

Пробел после запятой и точки

Вот понадобилось чтобы после запятой или точки добавлялся пробел, при добавлении новости, при добавлении ключевых слов, тегов.
Нашел вот такое,

$string= str_replace(array(',','.',';'),array(', ','. ','; '), $string);

Посмотрел несколько форумов везде одно и тоже, конструкции похожи.
Как лучше сделать это в движке

Вне форума

#2 2017-04-15 04:40:47

irbees2008
Продвинутый чайник
Откуда: Шахтинск
Здесь с 2012-03-14
Сообщений: 2,739
Рейтинг :   114 
Сайт

Re: Пробел после запятой и точки

И что никто не знает  ку да это прописать чтобы работало при добавлении новостей?

Вне форума

#3 2017-04-15 07:18:45

Knopik
Участник
Откуда: ufa
Здесь с 2009-10-14
Сообщений: 342
Рейтинг :   59 
Сайт

Re: Пробел после запятой и точки

irbees2008, если на скорую руку, то после на 473 строке для добавления новостей

$content = str_replace(array(',','.',';'),array(', ','. ','; '), $content);

и аналогично для редактирования на 794 строке

Отредактировано Knopik (2017-04-15 07:20:47)

Вне форума

#4 2017-04-15 13:44:02

irbees2008
Продвинутый чайник
Откуда: Шахтинск
Здесь с 2012-03-14
Сообщений: 2,739
Рейтинг :   114 
Сайт

Re: Пробел после запятой и точки

Knopik пишет:

irbees2008, если на скорую руку, то после на 473 строке для добавления новостей

$content = str_replace(array(',','.',';'),array(', ','. ','; '), $content);

и аналогично для редактирования на 794 строке

Спасибо,а то уже куда только не пихал не работало

Вне форума

#5 2017-04-15 15:37:28

irbees2008
Продвинутый чайник
Откуда: Шахтинск
Здесь с 2012-03-14
Сообщений: 2,739
Рейтинг :   114 
Сайт

Re: Пробел после запятой и точки

А для ключевых куда добавить? :/

Вне форума

#6 2017-04-15 19:21:24

Knopik
Участник
Откуда: ufa
Здесь с 2009-10-14
Сообщений: 342
Рейтинг :   59 
Сайт

Re: Пробел после запятой и точки

после на 550 строке для добавления новостей

$SQL['keywords'] = str_replace(array(',','.',';'),array(', ','. ','; '), $SQL['keywords']);

после на 875 строке для редактирования

Вне форума

#7 2017-04-16 05:07:05

irbees2008
Продвинутый чайник
Откуда: Шахтинск
Здесь с 2012-03-14
Сообщений: 2,739
Рейтинг :   114 
Сайт

Re: Пробел после запятой и точки

Knopik, А с проверкой, если уже стоит пробел,чтобы не добавлялся

Вне форума

#8 2017-04-16 06:14:15

irbees2008
Продвинутый чайник
Откуда: Шахтинск
Здесь с 2012-03-14
Сообщений: 2,739
Рейтинг :   114 
Сайт

Re: Пробел после запятой и точки

Как я понял типа такого условия, но как добавить array(',','.',';') в проверку, сколько примеров смотрел везде один знак.
и как записать если пробел есть ?

if (preg_match("/.\ \z/i", $content)) {
    'Совпадение,если есть пробел ';
} else {
   $content = str_replace(array(',','.',';'),array(', ','. ','; '), $content);
}

Вне форума

#9 2017-04-16 11:28:26

Knopik
Участник
Откуда: ufa
Здесь с 2009-10-14
Сообщений: 342
Рейтинг :   59 
Сайт

Re: Пробел после запятой и точки

irbees2008, попробуй вот так вот. Я не проверял, но должно работать
на 473 строке для добавления новостей. И аналогично для редактирования на 794 строке

$content = preg_replace('/([;,\.])([^ \.])/g', '$1 $2', $content);

ну и для keywords
после на 550 строке для добавления новостей

$SQL['keywords'] = preg_replace('/([;,\.])([^ \.])/g', '$1 $2', $SQL['keywords']);

после на 875 строке для редактирования

Отредактировано Knopik (2017-04-16 11:28:51)

Вне форума

#10 2017-04-16 13:07:58

irbees2008
Продвинутый чайник
Откуда: Шахтинск
Здесь с 2012-03-14
Сообщений: 2,739
Рейтинг :   114 
Сайт

Re: Пробел после запятой и точки

Knopik пишет:

irbees2008, попробуй вот так вот. Я не проверял, но должно работать
на 473 строке для добавления новостей. И аналогично для редактирования на 794 строке

$content = preg_replace('/([;,\.])([^ \.])/g', '$1 $2', $content);

ну и для keywords
после на 550 строке для добавления новостей

$SQL['keywords'] = preg_replace('/([;,\.])([^ \.])/g', '$1 $2', $SQL['keywords']);

после на 875 строке для редактирования

так новость получается пустой

Вне форума

#11 2017-04-18 13:30:59

irbees2008
Продвинутый чайник
Откуда: Шахтинск
Здесь с 2012-03-14
Сообщений: 2,739
Рейтинг :   114 
Сайт

Re: Пробел после запятой и точки

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

Вне форума

#12 2017-04-18 14:15:45

Knopik
Участник
Откуда: ufa
Здесь с 2009-10-14
Сообщений: 342
Рейтинг :   59 
Сайт

Re: Пробел после запятой и точки

irbees2008, на чистом сделать заново.

На чистом php работает, значит и в ng должно
для новости

$content = preg_replace('/([;,\.])([^ \.])/', '$1 $2', $content);

для ключевых

$SQL['keywords'] = preg_replace('/([;,\.])([^ \.])/', '$1 $2', $SQL['keywords']);

Отредактировано Knopik (2017-04-18 14:20:20)

Вне форума

#13 2017-04-19 11:35:31

irbees2008
Продвинутый чайник
Откуда: Шахтинск
Здесь с 2012-03-14
Сообщений: 2,739
Рейтинг :   114 
Сайт

Re: Пробел после запятой и точки

$content = preg_replace('/([,.;])(?=\S)/', '$1 $2', $content);

Вот так работает
Knopik, благодарю за направление куда копать ;)

Вне форума

#14 2017-04-22 17:35:42

irbees2008
Продвинутый чайник
Откуда: Шахтинск
Здесь с 2012-03-14
Сообщений: 2,739
Рейтинг :   114 
Сайт

Re: Пробел после запятой и точки

Возникла проблемка на фоне этой темы, как заэкранировать ссылки и вставку видео, а то сейчас к ним добавляются пробелы

Отредактировано irbees2008 (2017-04-22 17:37:05)

Вне форума

#15 2017-08-04 18:10:17

irbees2008
Продвинутый чайник
Откуда: Шахтинск
Здесь с 2012-03-14
Сообщений: 2,739
Рейтинг :   114 
Сайт

Re: Пробел после запятой и точки

Как оказалось с изображениями та же проблема, в адресах добавляются пробелы.Как заэкранировать Видео,изображения и ссылки?

Вне форума

#16 2017-08-05 13:19:26

rusiq
гуру
Здесь с 2014-07-16
Сообщений: 583
Рейтинг :   36 
Сайт

Re: Пробел после запятой и точки

Вот сервис по регуляркам есть хороший http://www.phpliveregex.com/ Внизу страницы небольшой читшит

Вне форума

#17 2017-08-05 18:10:58

rusiq
гуру
Здесь с 2014-07-16
Сообщений: 583
Рейтинг :   36 
Сайт

Re: Пробел после запятой и точки

irbees2008 пишет:

Вот понадобилось чтобы после запятой или точки добавлялся пробел, при добавлении новости, при добавлении ключевых слов, тегов.

Запомните раз и навсегда, что ключевые слова, теги, другие гадости всегда разделяются запятыми. Нигде не говорится, что они должны разделяться запятыми с пробелом!!! Поэтому изначальный вопрос темы сводится к тому: Как добавлять пробелы после знаков пунктуации, где они должны находиться (по общепринятым правилам) при добавлении новости, в теле самой новости. Так?

Отредактировано rusiq (2017-08-05 18:20:33)

Вне форума

#18 2017-08-05 18:26:20

rusiq
гуру
Здесь с 2014-07-16
Сообщений: 583
Рейтинг :   36 
Сайт

Re: Пробел после запятой и точки

А может взять метровую нержавеющую линейку и настучать по рукам тем, кто не ставит пробелы после знаков пунктуации? :mad:

Вне форума

#19 2017-08-05 18:37:23

irbees2008
Продвинутый чайник
Откуда: Шахтинск
Здесь с 2012-03-14
Сообщений: 2,739
Рейтинг :   114 
Сайт

Re: Пробел после запятой и точки

Где то была линейка, осталось найти авторов :D

Вне форума

Сейчас в этой теме пользователей: 0, гостей: 1
[Bot] ClaudeBot

Подвал форума

Под управлением FluxBB 1.5.11
Модифицировал Visman

[ Сгенерировано за 0.017 сек, 7 запросов выполнено - Использовано памяти: 613.2 Кбайт (Пик: 650.2 Кбайт) ]