Using Strict Mode - GeSHi/geshi-1.0 GitHub Wiki
Some languages like to get tricky, and jump in and out of the file that they’re in. For example, the vast majority of you reading this will have used a PHP file. And you know that PHP code is only executed if it’s within delimiters like
?> (there are others of course…). So what happens if you do the following in a php file?
<img src="<?php echo rand(1, 100) ?>" />
When using GeSHi without strict mode, or using a bad highlighter, you’ll end up with scrambled crap, especially if you’re being slack about where you’re putting your quotes, you could end up with the rest of your file as bright blue. Fortunately, you can tell GeSHi to be “strict” about just when it highlights and when it does not, using the
true or not specified to enable strict mode, or
false to disable strict mode if you’ve already turned it and don’t want it now.
As of GeSHi 1.0.8 there is a new way to tell GeSHi when to use Strict Mode which is somewhat more intelligent than in previous releases. GeSHi now also allows
true) always enables strict mode, whereas
false) completely disables strict mode. The new thing is
GESHI_MAYBEwhich enables strict mode if it finds any sequences of code that look like strict block delimiters.
By the way: That’s why this section had to be changed, as the new documentation tool we now use, applies this feature and thus auto-detects when strict mode has to be used…