This page is for anyone writing expressions, macros or scripts in which you need to escape special characters.
When writing expressions, macros or scripts you may need to enter a character that has special meaning. For example, a string could include a double-quote, but in the expression PhixFlow will read this as the end of the string. To tell PhixFlow to ignore a special character, you can use the backslash character.
Character | Type | Escape string |
---|---|---|
backspace | Represented As | "\b" |
Escaped Version | "\\\\b" | |
form feed | Represented As | "\f" |
Escaped Version | "\\\\f" | |
tab | Represented As | "\t" |
Escaped Version | "\\\\t" | |
carraige return | Represented As | "\r" |
Escaped Version | "\\\\r" | |
newline | Represented As | "\n" |
Escaped Version | "\\\\n" | |
backslash | Represented As |
|
Escaped Version | "\\\\\\\\" | |
double quote | Represented As | '"' |
Escaped Version | '\\\\"' |
Macro: Escaping Invalid Characters
If you are working with JSON, return messages can contain characters that are not recognised in PhixFlow. The following macro escapes these invalid characters.
do( $value = $args[1], $value = replaceAll( $value , "\b","\\\\b"), $value = replaceAll( $value , "\f","\\\\f"), $value = replaceAll( $value , "\t","\\\\t"), $value = replaceAll( $value , "\r","\\\\r"), $value = replaceAll( $value , "\n","\\\\n"), $value = replaceAll( $value , "\\\\","\\\\\\\\"), $value = replaceAll( $value , '"','\\\\"') )
Validating JSON Files
JSON code can include characters that cannot be written to a database that is using the UTF-8 character set. For example, 4-bit Emojis are not supported by UTF-8.
The following regular expression lists the characters expected in a JSON file and removes invalid characters from it.
replaceAll(JSON Code,"[^\\p{Space}0-9A-Za-z!:\\\"%&\\[*()\\],-/_\\\\{}\\.]","")
The backslash character escapes special characters such as [] , .
and \
The UTF-8mb4 character set supports a wider range of characters, such as Emojis. Migrating your database to use this character set would allow JSON to be used without needing to validate it using a regular expression.
See also: Regular Expressions