Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.  

...


Code Block
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 Data Imported Into PhixFlow

JSON data (like any imported data format) 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.

Code Block
replaceAll(JSON Code,"[^\\p{Space}0-9A-Za-z!:\\\"%&\\[*()\\],-/_\\\\{}\\.]","")

The backslash character escapes special characters such as [] , . and \ 

Tip

Check which database PhixFlow is running on to see how it handles 4-bit characters. An oracle database with the recommended configuration can store the full range of Uni-code characters whilst MySQL/MariaDB UFT-8mb3 databases cannot and invalid characters will need to be removed before writing to the database. See ; see Database for recommended database configurations. 


See also: 

Regular Expressions