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

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

Вы не зашли.

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

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

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

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

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

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

Не в сети

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

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

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

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

Не в сети

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

Knopik
Разработчик
Откуда ufa
Зарегистрирован: 2009-10-14
Сообщений: 353
Рейтинг :   62 
Сайт

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

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

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

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

Изменено Knopik (2017-04-15 08:20:47)

Не в сети

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

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

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

Knopik пишет:

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

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

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

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

Не в сети

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

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

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

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

Не в сети

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

Knopik
Разработчик
Откуда ufa
Зарегистрирован: 2009-10-14
Сообщений: 353
Рейтинг :   62 
Сайт

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

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

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

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

Не в сети

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

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

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

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

Не в сети

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

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

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

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

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

Не в сети

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

Knopik
Разработчик
Откуда ufa
Зарегистрирован: 2009-10-14
Сообщений: 353
Рейтинг :   62 
Сайт

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 12:28:51)

Не в сети

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

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

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 14:30:59

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

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

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

Не в сети

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

Knopik
Разработчик
Откуда ufa
Зарегистрирован: 2009-10-14
Сообщений: 353
Рейтинг :   62 
Сайт

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

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

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

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

для ключевых

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

Изменено Knopik (2017-04-18 15:20:20)

Не в сети

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

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

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

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

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

Не в сети

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

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

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

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

Изменено irbees2008 (2017-04-22 18:37:05)

Не в сети

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

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

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

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

Не в сети

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

rusiq
гуру
Зарегистрирован: 2014-07-16
Сообщений: 639
Рейтинг :   38 

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

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

Не в сети

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

rusiq
гуру
Зарегистрирован: 2014-07-16
Сообщений: 639
Рейтинг :   38 

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

irbees2008 пишет:

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

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

Изменено rusiq (2017-08-05 19:20:33)

Не в сети

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

rusiq
гуру
Зарегистрирован: 2014-07-16
Сообщений: 639
Рейтинг :   38 

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

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

Не в сети

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

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

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

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

Не в сети

Подвал раздела

Работает на FluxBB