@olegar said in Как вы смотрите что происходит в потоках - прыгают окна туда сюда, часто не попасть в нужное )):
@Bigma тогда дай совет топикстартеру как же отследить косяки в потоке?.....
На отладке запускать не 100 потоков 😁
Подскажите пожалуйста как экранировать спец символ обратная косая черта
как только не пробовал не выходит заменить надо через "выполнить код"
Варианты которые пробовал:
[[R1]] = [[R1]].split(""'").join("\")
[[R1]] = [[R1]].split("'\'").join("\")
[[R1]] = [[R1]].split("''").join("\")
[[R1]] = [[R1]].split('').join("\")
[[R1]] = [[R1]].split("[]").join("\")
[[R1]] = [[R1]].split("~").join("\~")
[[R1]] = [[R1]].split("!").join("\!")
[[R1]] = [[R1]].split("@").join("\@")
[[R1]] = [[R1]].split("#").join("\#")
[[R1]] = [[R1]].split("$").join("\$")
[[R1]] = [[R1]].split("%").join("\%")
[[R1]] = [[R1]].split("*").join("\*")
[[R1]] = [[R1]].split("(").join("\(")
[[R1]] = [[R1]].split(")").join("\)")
[[R1]] = [[R1]].split("_").join("\_")
[[R1]] = [[R1]].split("—").join("\—")
[[R1]] = [[R1]].split("+").join("\+")
[[R1]] = [[R1]].split("=").join("\=")
[[R1]] = [[R1]].split("|").join("\|")
[[R1]] = [[R1]].split(":").join("\:")
[[R1]] = [[R1]].split(";").join("\;")
[[R1]] = [[R1]].split("'").join("\'")
[[R1]] = [[R1]].split("<").join("\<")
[[R1]] = [[R1]].split(">").join("\>")
[[R1]] = [[R1]].split("?").join("\?")
[[R1]] = [[R1]].split("/").join("\/")
[[R1]] = [[R1]].split("^").join("\^")
[[R1]] = [[R1]].split("&").join("\&")
[[R1]] = [[R1]].split("\"").join("''")
Все остальное вроде заменяет.
Спасибо.
@Fox Привет!
Подскажи пожалуйста при таком экранировании
[[R1]] = [[R1]].replace(/([~!@#$%*()_—+=|:;'<>?\/^&])/g, "\/$1").replace(/"/g, "'");
в базу MySQL вставляются данные пример: /(ПЕТРОВСКОГО/) а мне надо экранировать обратной косой чертой (), когда я пытаюсь поменять в твоем примере на обратную косую черту ругается на ошибку.
[[R1]] = [[R1]].replace(\([~!@#$%*()_—+=|:;'<>?\/^&])/g, "\/$1").replace(/"/g, "'");
Задача чтобы в базе был чистый текст (ПЕТРОВСКОГО) без символов экранирования.
@mocard said in Экранирование спец символов для вставки в MySQL:
когда я пытаюсь поменять в твоем примере на обратную косую черту ругается на ошибку.
Это синтаксис js replace(pattern, replacement), слешами выделяется регулярное выражение, которое необходимо применить к строке
text.replace(/blue/g, "red");
Символы для добавления слеша находятся в квадратных скобках [~!@#$%*()_—+=|:;'<>?\/^&], для замены кавычек использется второй replace, соответственно для удаления слешей нужно добавить ещё один replace
[[R1]] = [[R1]].replace(/([~!@#$%*()_—+=|:;'<>?\/^&])/g, "\/$1").replace(/"/g, "'").replace(/(\/)/g, "");
как вариант конвертировать в Base64 и записывать в базу, если контекстный поиск не нужен.
ну или так
https://qna.habr.com/q/1235258