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

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

rss

Вы не зашли.

Объявление

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

irbees2008
Пользователь
Откуда: Шахтинск
Зарегистрирован: 2012-03-14
Сообщений: 2271
Рейтинг :   98 
Профиль  Вебсайт

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

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

Код:

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

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

Неактивен

 

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

irbees2008
Пользователь
Откуда: Шахтинск
Зарегистрирован: 2012-03-14
Сообщений: 2271
Рейтинг :   98 
Профиль  Вебсайт

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

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

Неактивен

 

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

Knopik
Пользователь
Откуда: ufa
Зарегистрирован: 2009-10-14
Сообщений: 322
Рейтинг :   53 
Профиль  Вебсайт

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
Сообщений: 2271
Рейтинг :   98 
Профиль  Вебсайт

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

Knopik написал:

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

Код:

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

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

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

Неактивен

 

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

irbees2008
Пользователь
Откуда: Шахтинск
Зарегистрирован: 2012-03-14
Сообщений: 2271
Рейтинг :   98 
Профиль  Вебсайт

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

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

Неактивен

 

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

Knopik
Пользователь
Откуда: ufa
Зарегистрирован: 2009-10-14
Сообщений: 322
Рейтинг :   53 
Профиль  Вебсайт

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

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

Код:

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

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

Неактивен

 

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

irbees2008
Пользователь
Откуда: Шахтинск
Зарегистрирован: 2012-03-14
Сообщений: 2271
Рейтинг :   98 
Профиль  Вебсайт

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

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

Неактивен

 

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

irbees2008
Пользователь
Откуда: Шахтинск
Зарегистрирован: 2012-03-14
Сообщений: 2271
Рейтинг :   98 
Профиль  Вебсайт

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
Сообщений: 322
Рейтинг :   53 
Профиль  Вебсайт

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
Сообщений: 2271
Рейтинг :   98 
Профиль  Вебсайт

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
Сообщений: 2271
Рейтинг :   98 
Профиль  Вебсайт

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

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

Неактивен

 

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

Knopik
Пользователь
Откуда: ufa
Зарегистрирован: 2009-10-14
Сообщений: 322
Рейтинг :   53 
Профиль  Вебсайт

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
Сообщений: 2271
Рейтинг :   98 
Профиль  Вебсайт

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

Код:

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

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

Неактивен

 

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

irbees2008
Пользователь
Откуда: Шахтинск
Зарегистрирован: 2012-03-14
Сообщений: 2271
Рейтинг :   98 
Профиль  Вебсайт

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

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

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

Неактивен

 

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

irbees2008
Пользователь
Откуда: Шахтинск
Зарегистрирован: 2012-03-14
Сообщений: 2271
Рейтинг :   98 
Профиль  Вебсайт

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

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

Неактивен

 

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

rusiq
Пользователь
Зарегистрирован: 2014-07-16
Сообщений: 359
Рейтинг :   19 
Профиль

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

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


Fork NG CMS fngcms

Неактивен

 

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

rusiq
Пользователь
Зарегистрирован: 2014-07-16
Сообщений: 359
Рейтинг :   19 
Профиль

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

irbees2008 написал:

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

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

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


Fork NG CMS fngcms

Неактивен

 

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

rusiq
Пользователь
Зарегистрирован: 2014-07-16
Сообщений: 359
Рейтинг :   19 
Профиль

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

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


Fork NG CMS fngcms

Неактивен

 

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

irbees2008
Пользователь
Откуда: Шахтинск
Зарегистрирован: 2012-03-14
Сообщений: 2271
Рейтинг :   98 
Профиль  Вебсайт

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

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

Неактивен

 

Board footer

Powered by FluxBB

[ Generated in 0.022 seconds, 25 queries executed ]