Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Массово исправить лишние и недостающие пробелы в сообщениях

Вопросы без привязки к версии. Установлена авточистка (2 года).
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Tugus
phpBB 1.4.4
Сообщения: 135
Стаж: 5 лет 4 месяца
Благодарил (а): 46 раз

Массово исправить лишние и недостающие пробелы в сообщениях

Сообщение Tugus »

Доброго дня.
Имеются проблемы с пунктуацией на форуме: лишние пробелы как перед знаками препинания (запятыми, восклицательными, вопросительными знаками, скобками), так и их отсутствие перечисленного.
Есть ли способы:
1) исправить уже существующие из них массовым запросом к таблице с сообщениями через БД? (Если да, то каким?)
2) предотвратить появление подобного через, например, автозамены? Если да, то как в автозамене прописать пробел (возможно, правкой файлов?)
3) То же касается начала предложений с заглавных букв, но автоматизация таких правок, наверное, из области фантастики?

Нашёл как выход только хуки для устаревших версий phpbb. Буду благодарен за направление в нужные темы, если что пропустил :)
Перенесено из форума Поддержка phpBB 3.2.x в форум phpBB-пространство 30.04.2019 7:49 модератором Sheer

Аватара пользователя
romaamor
phpBB 3.0.2
Сообщения: 2081
Стаж: 11 лет 11 месяцев
Откуда: Одесса
Благодарил (а): 707 раз
Поблагодарили: 161 раз
Контактная информация:

Re: Массово исправить лишние и недостающие пробелы в сообщениях

Сообщение romaamor »

Случайно не от Татьяны расширение стоит ?
Татьяна иногда глючит.
Аватара пользователя
Tugus
phpBB 1.4.4
Сообщения: 135
Стаж: 5 лет 4 месяца
Благодарил (а): 46 раз

Re: Массово исправить лишние и недостающие пробелы в сообщениях

Сообщение Tugus »

romaamor,
Простите, не понял, о каком расширении речь?
Проблемы с пунктуацией у пользователей, а про хуки - не использовал, просто это единственное решение, которое нашёл. Но оно уже устарело.
Или Вы не об этом?
Аватара пользователя
romaamor
phpBB 3.0.2
Сообщения: 2081
Стаж: 11 лет 11 месяцев
Откуда: Одесса
Благодарил (а): 707 раз
Поблагодарили: 161 раз
Контактная информация:

Re: Массово исправить лишние и недостающие пробелы в сообщениях

Сообщение romaamor »

Tugus писал(а): 30.04.2019 8:25 Простите, не понял, о каком расширении речь?
Быстрый ответ от Татьяна5. Иногда ломает ответ.
Аватара пользователя
Tugus
phpBB 1.4.4
Сообщения: 135
Стаж: 5 лет 4 месяца
Благодарил (а): 46 раз

Re: Массово исправить лишние и недостающие пробелы в сообщениях

Сообщение Tugus »

romaamor, Ах, нет. Дело в тех, что кто пишет с телефона: ленятся лишний раз нажать пробел. У кого-то же телефон автоматически добавляет пробел перед запятой и другими знаками. Другая половина форумчан возмущается ряби в глазах. Да и я сам недоволен тем же. На данный момент правлю такие посты Нотпадом++, мозоли уже натёр :?
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12372
Стаж: 12 лет 7 месяцев
Благодарил (а): 223 раза
Поблагодарили: 3517 раз
Контактная информация:

Re: Массово исправить лишние и недостающие пробелы в сообщениях

Сообщение Татьяна5 »

romaamor писал(а): 30.04.2019 8:37 Иногда ломает ответ.
А вот об этом поподробней в теме QuickReply
Такого быть не должно
Аватара пользователя
Tugus
phpBB 1.4.4
Сообщения: 135
Стаж: 5 лет 4 месяца
Благодарил (а): 46 раз

Re: Массово исправить лишние и недостающие пробелы в сообщениях

Сообщение Tugus »

Татьяна5, а по основному вопросы не подскажете? :)
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 1 месяц
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2752 раза
Контактная информация:

Re: Массово исправить лишние и недостающие пробелы в сообщениях

Сообщение Sheer »

romaamor, как всегда выдумывет. Ничего Quick не ломает.

Отправлено спустя 2 минуты 1 секунду:
Tugus, ссылки на хуки и моды, плз. Возможно их получится конвертовать в расширения.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
Tugus
phpBB 1.4.4
Сообщения: 135
Стаж: 5 лет 4 месяца
Благодарил (а): 46 раз

Re: Массово исправить лишние и недостающие пробелы в сообщениях

Сообщение Tugus »

Нашел решение на свой вопрос
Tugus писал(а): 30.04.2019 7:38 лишние пробелы как перед знаками препинания (запятыми, восклицательными, вопросительными знаками, скобками), так и их отсутствие перечисленного. Есть ли способы исправить уже существующие из них массовым запросом к таблице с сообщениями через БД? (Если да, то каким?)
Убрать пробелы перед запятыми -

Код: Выделить всё

UPDATE phpbb_posts SET post_text = replace(post_text, ' ,', ','); 
Добавить пробелы после запятых -

Код: Выделить всё

UPDATE phpbb_posts SET post_text = replace(post_text, ',', ', '); 
То же для точки, вопросительного и восклицательного знаков:

Код: Выделить всё

UPDATE phpbb_posts SET post_text = replace(post_text, ' !', '!'); 
UPDATE phpbb_posts SET post_text = replace(post_text, '!', '! '); 
UPDATE phpbb_posts SET post_text = replace(post_text, ' ?', '?'); 
UPDATE phpbb_posts SET post_text = replace(post_text, '?', '? '); 
UPDATE phpbb_posts SET post_text = replace(post_text, ' .', '.'); 
UPDATE phpbb_posts SET post_text = replace(post_text, '.', '. '); 
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12372
Стаж: 12 лет 7 месяцев
Благодарил (а): 223 раза
Поблагодарили: 3517 раз
Контактная информация:

Re: Массово исправить лишние и недостающие пробелы в сообщениях

Сообщение Татьяна5 »

Там, где был пробел, добавит второй, плюс побьёт кучу ссылок с точками и вопросами, так что не советую. Там не всё так просто
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 1 месяц
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2752 раза
Контактная информация:

Re: Массово исправить лишние и недостающие пробелы в сообщениях

Сообщение Sheer »

Татьяна5 писал(а): 03.05.2019 13:01 не всё так просто
Вместо replace надо использовать регулярные выражения. В SQL-запросах это можно.

Отправлено спустя 14 секунд:
Но это не просто.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
Tugus
phpBB 1.4.4
Сообщения: 135
Стаж: 5 лет 4 месяца
Благодарил (а): 46 раз

Re: Массово исправить лишние и недостающие пробелы в сообщениях

Сообщение Tugus »

Татьяна5,
Прежде, чем писать сюда, проверил, ибо тоже имел предположение, что добавит второй пробел, если один уже есть там, где положено.
Лишнего не добавляет. Нужное не съедает. В ссылках меняем по тому же принципу:

Код: Выделить всё

UPDATE phpbb_posts SET post_text = replace(post_text, '. php?', '.php?'); 
UPDATE phpbb_posts SET post_text = replace(post_text, '. ru', '.ru'); 
Отправлено спустя 2 минуты 51 секунду:
Ну и по аналогии, если есть ссылки на ютуб-видео, например, указать то же.

Отправлено спустя 4 минуты 5 секунд:
Sheer писал(а): 03.05.2019 13:11 Вместо replace надо использовать регулярные выражения. В SQL-запросах это можно.
Может быть, дадите пример? На будущее...
Ответить

Вернуться в «phpBB-пространство»