Testing slib ‘scriptify’ and friends

I’ve written a few little functions to help me sanitise content before including it in automatically generated JavaScript. The idea is to prevent code injection.

You can see the tests for my function in the scriptify_test.php file on ProgClub Member Net (where jsphp.co is hosted). You can view the scriptify unit tests in pcrepo.

Unit testing is fun! :)

Strings in PHP

I’ve been looking into how strings work in PHP. Basically if you use a single quote the string is literal and the only two quotes accepted are \\ for backslash and \’ for single quote.

If you use double quotes on the other hand then backslash is the quote character so you can do things like \n for new line or \t for tab. Also you can use variable names in double quotes strings. I still don’t totally understand things like magic quotes work though.

Regular Expressions (Perl-Compatible)

I found the documentation for regular expressions at php.net.

I read somewhere on the internet to use the pattern modifiers “msU” to match multiline content, but while I understand the ‘m’ and the ‘s’ I don’t understand the ‘U’ very well. I’m not sure what it means to be greedy or ungreedy exactly. But I’ve been using msU pattern modifiers in my regexps that parse the phpjs.org content for import into jsphp.co.