|
Убрать пробелы в ссылках по всему сайту
|
|||
---|---|---|---|
#18+
Всем привет. Какое-то время назад перенос форум на новый движек, и толкьо сейчас обнаружил, что некоторые ссылки на форуме содержат пробелы. Пробелов вроде бы 2 подряд, но может где как, точно не знаю. Например (ссылки все фейк) https://vk.com/123 456 https://facebook.com/gr oups/12345 http://site.com/% 123%3DWRdLC9 Все проблемные ссылки принадлежат тегу a href, и обёрнуты с двойные кавычки "" Подскажите пожалуйста, как это можно исправить через phpmyadmin? База под 3 ГБ, экспортировать не вариант. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2018, 01:56 |
|
Убрать пробелы в ссылках по всему сайту
|
|||
---|---|---|---|
#18+
Если MySQL не версии 8, можно попробовать https://dev.mysql.com/doc/refman/8.0/en/regexp.html#function_regexp-replace Сходу не скажу, получится ли. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2018, 02:42 |
|
Убрать пробелы в ссылках по всему сайту
|
|||
---|---|---|---|
#18+
Пардон. Конечно, следует читать "не ниже версии 8" ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2018, 02:43 |
|
Убрать пробелы в ссылках по всему сайту
|
|||
---|---|---|---|
#18+
DimLVнекоторые ссылки на форуме содержат пробелыВы уверены, что пробелы нужно просто убрать, а не, например, заменить на "%20" ? Вы пробовали руками проверить несколько таких ссылок? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2018, 07:33 |
|
Убрать пробелы в ссылках по всему сайту
|
|||
---|---|---|---|
#18+
Удрать пробелы можно простым запросом Код: sql 1. 2.
Однако: 1) Не всё то пробел, что выглядит как пробел. например, CHAR(160) на глаз от пробела ни в жисть не отличить... 2) Не каждый пробел - лишний: miksoftВы уверены, что пробелы нужно просто убрать, а не, например, заменить на "%20" ? С учётом этого DimLVэкспортировать не вариант.на самом деле не просто вариант, а единственный правильный. Ибо, не имея бэкапа, лезть что-то править более глупо - показанный выше запрос обратно не откатишь. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2018, 09:24 |
|
Убрать пробелы в ссылках по всему сайту
|
|||
---|---|---|---|
#18+
miksoftВы уверены, что пробелы нужно просто убрать, а не, например, заменить на "%20" ? Вы пробовали руками проверить несколько таких ссылок? Да, пробовал, это именно пробелы, приложил скрин. Ссылки с этими пробелами не работаю, без них всё ок. AkinaУдрать пробелы можно простым запросом Код: sql 1. 2.
Насколько я понимаю, это удалит все пробелы в тексте, разве нет? Ссылки в постах пользователей, вперемешку с текстом. AkinaОднако: 1) Не всё то пробел, что выглядит как пробел. например, CHAR(160) на глаз от пробела ни в жисть не отличить... 2) Не каждый пробел - лишний: miksoftВы уверены, что пробелы нужно просто убрать, а не, например, заменить на "%20" ? С учётом этого DimLVэкспортировать не вариант.на самом деле не просто вариант, а единственный правильный. Ибо, не имея бэкапа, лезть что-то править более глупо - показанный выше запрос обратно не откатишь. 1 - Ну вот не работают ссылки с этими пропусками, а без них всё ок. Проверял. По поводу бэкапа, естественно делаю, я имел ввиду редактирование текстового файл 3ГБ+ - то ещё веселье. Медленно, и понятнее, от того что он текст не становится ) По ссылкам как искать системы нет, это вручную надо только искать. Проще тогда сканировать пауком битые и вручную по сайту идти. Надеялся каким-то запросом через базу сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2018, 11:39 |
|
Убрать пробелы в ссылках по всему сайту
|
|||
---|---|---|---|
#18+
DimLVредактирование текстового файл 3ГБ+ - то ещё весельеРуками, чтоли, редактировать его? Нехай какой-нить текстовый редактор работает. Вопрос только времени. DimLVПо ссылкам как искать системы нет, это вручную надо только искать.В первом приближении уже описано - искать/заменять пробелы от двойных кавычек, которые сразу после href= идут до следующих двойных кавычек. Вполне посильная работа для регулярных выражений. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2018, 11:48 |
|
Убрать пробелы в ссылках по всему сайту
|
|||
---|---|---|---|
#18+
vkleВ первом приближении уже описано - искать/заменять пробелы от двойных кавычек, которые сразу после href= идут до следующих двойных кавычек. Вполне посильная работа для регулярных выражений. Да, в целом да. Но не умею. Может может кто подсказать регулярку под условие? И в чем это выполнить можно? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2018, 11:54 |
|
Убрать пробелы в ссылках по всему сайту
|
|||
---|---|---|---|
#18+
DimLVНо не умею. Может может кто подсказать регулярку под условие? https://regex101.com/ ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2018, 12:24 |
|
Убрать пробелы в ссылках по всему сайту
|
|||
---|---|---|---|
#18+
DimLVНасколько я понимаю, это удалит все пробелы в тексте, разве нет? Ссылки в постах пользователей, вперемешку с текстом.А сразу об этом сказать - не? Это ж надо было додуматься - задавать один вопрос, чтобы получить ответ на другой... Формулируйте АБСОЛЮТНО ТОЧНЫЙ критерий, который позволит для любого пробела однозначно сказать - либо "это пробел в URL и его надо удалить", либо "это пробел в тексте, и его не надо удалять". DimLVДа, пробовал, это именно пробелы, приложил скрин. Мужик, ты эта... ты в себе? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2018, 12:33 |
|
Убрать пробелы в ссылках по всему сайту
|
|||
---|---|---|---|
#18+
AkinaФормулируйте АБСОЛЮТНО ТОЧНЫЙ критерий, который позволит для любого пробела однозначно сказать - либо "это пробел в URL и его надо удалить" ТС так и написал в самом начале: DimLVВсе проблемные ссылки принадлежат тегу a href, и обёрнуты с двойные кавычки ""Вроде, этой информации вполне достаточно, чтобы определить место проблемного текста вне зависимости, URL этот текст обозначает или что-то ещё. Однако, да, в значении атрибута href гипотетически может быть не только URL. И что делать с пробелами в яваскрипте, например, не понятно. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2018, 15:20 |
|
Убрать пробелы в ссылках по всему сайту
|
|||
---|---|---|---|
#18+
vkleВроде, этой информации вполне достаточноСовершенно недостаточно. Вполне можно придумать фрагменты, которые после удаления пробелов превратятся в винегрет. Лениво только. Я уж не говорю о том, что влоб задача не решается хотя бы потому, что сам по себе href может быть не тегом, а фрагментом литерала - то есть речь на самом деле, если нет желания, ремонтируя одно, поломать другое, идёт о серьёзном парсинге HTML-текста, задаче явно не для MySQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2018, 16:25 |
|
Убрать пробелы в ссылках по всему сайту
|
|||
---|---|---|---|
#18+
Тем более что товарищ даже о неразрывном пробеле не слышал... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2018, 16:26 |
|
Убрать пробелы в ссылках по всему сайту
|
|||
---|---|---|---|
#18+
AkinaВполне можно придумать фрагменты, которые после удаления пробелов превратятся в винегрет.Разумеется, о том выше и написал. Ну тут ТС виднее, чего он хочет. Akinaзадаче явно не для MySQLВосьмой с появившимися в нем регекспами тоже не осилит, хотя бы в минимале? Не соберусь никак поставить его для понимания возможностей... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2018, 23:11 |
|
Убрать пробелы в ссылках по всему сайту
|
|||
---|---|---|---|
#18+
vkleВосьмой с появившимися в нем регекспами тоже не осилит, хотя бы в минимале?В минимале - вполне. Но любая нестандартность ситуации - и результат непредсказуем. Т.е. сперва надо подобрать полный набор шаблонов ошибок, для каждого создать свой регэксп, прикинуть порядок их применения - и потом делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2018, 08:31 |
|
|
start [/forum/topic.php?fid=47&fpage=42&tid=1829412]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
63ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 176ms |
0 / 0 |