2222class Escaper
2323{
2424 // Characters that would cause a dumped string to require double quoting.
25- const REGEX_CHARACTER_TO_ESCAPE = "[ \\x00- \\x1f]| \xc2\x85| \xc2\xa0| \xe2\x80\xa8| \xe2\x80\xa9" ;
25+ const REGEX_CHARACTER_TO_ESCAPE = "[ \\x00- \\x1f]| \x7f | \ xc2\x85| \xc2\xa0| \xe2\x80\xa8| \xe2\x80\xa9" ;
2626
2727 // Mapping arrays for escaping a double quoted string. The backslash is
2828 // first to ensure proper escaping because str_replace operates iteratively
@@ -33,13 +33,15 @@ class Escaper
3333 "\x08" , "\x09" , "\x0a" , "\x0b" , "\x0c" , "\x0d" , "\x0e" , "\x0f" ,
3434 "\x10" , "\x11" , "\x12" , "\x13" , "\x14" , "\x15" , "\x16" , "\x17" ,
3535 "\x18" , "\x19" , "\x1a" , "\x1b" , "\x1c" , "\x1d" , "\x1e" , "\x1f" ,
36+ "\x7f" ,
3637 "\xc2\x85" , "\xc2\xa0" , "\xe2\x80\xa8" , "\xe2\x80\xa9" ,
3738 ];
3839 private static $ escaped = ['\\\\' , '\\" ' , '\\\\' , '\\" ' ,
3940 '\\0 ' , '\\x01 ' , '\\x02 ' , '\\x03 ' , '\\x04 ' , '\\x05 ' , '\\x06 ' , '\\a ' ,
4041 '\\b ' , '\\t ' , '\\n ' , '\\v ' , '\\f ' , '\\r ' , '\\x0e ' , '\\x0f ' ,
4142 '\\x10 ' , '\\x11 ' , '\\x12 ' , '\\x13 ' , '\\x14 ' , '\\x15 ' , '\\x16 ' , '\\x17 ' ,
4243 '\\x18 ' , '\\x19 ' , '\\x1a ' , '\\e ' , '\\x1c ' , '\\x1d ' , '\\x1e ' , '\\x1f ' ,
44+ '\\x7f ' ,
4345 '\\N ' , '\\_ ' , '\\L ' , '\\P ' ,
4446 ];
4547
0 commit comments