/
githubmirror
/
GoFrame
Обзор
Документация
Войти
/
githubmirror
/
GoFrame
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
text/gstr/gstr_slashes.go
54 строки
1 KB
houseme
Feature/polaris feat: Add Polaris support (#1797)
18 май 2022, 17:24
Не верифицирован
18 май 2022, 17:24
ab82599
Код
Авторство
О чём код?
// Copyright GoFrame Author(https://goframe.org). All Rights Reserved. // // This Source Code Form is subject to the terms of the MIT License. // If a copy of the MIT was not distributed with this file, // You can obtain one at https://github.com/gogf/gf. package gstr import ( "bytes" "github.com/gogf/gf/v2/internal/utils" ) // AddSlashes quotes chars('"\) with slashes. func AddSlashes(str string) string { var buf bytes.Buffer for _, char := range str { switch char { case '\'', '"', '\\': buf.WriteRune('\\') } buf.WriteRune(char) } return buf.String() } // StripSlashes un-quotes a quoted string by AddSlashes. func StripSlashes(str string) string { return utils.StripSlashes(str) } // QuoteMeta returns a version of str with a backslash character (\) // before every character that is among: .\+*?[^]($) func QuoteMeta(str string, chars ...string) string { var buf bytes.Buffer for _, char := range str { if len(chars) > 0 { for _, c := range chars[0] { if c == char { buf.WriteRune('\\') break } } } else { switch char { case '.', '+', '\\', '(', '$', ')', '[', '^', ']', '*', '?': buf.WriteRune('\\') } } buf.WriteRune(char) } return buf.String() }