Já bych řekl, že tady sebešílenější regulár nemá šanci bezchybně uspět, a single-line už vůbec. Když si vezmete, že "?>" se v PHP může vyskytovat ve stringu a to včetně (tušímže PSPadem už tak nepodporovaného) heredocu / newdocu), řádkovém či blokovém komentáři a mixu toho všeho, tak i kdyby se mělo jednat o povedený multi-line regulár s lookbehindem hlídající balance a já nevím co všechno, bylo by jeho přeaplikovávání pro obarvení kódu dost vražedné.
Vezměte v potaz, že webserver NEdělá to, co známe třeba z browseru a SCRIPTu vloženého do HTML: totiž že HTML parser vezme obsah párového tagu script (pokud nemá atribut SRC) a to předá JS enginu. Proto se v HTML vloženém SCRIPTu nesmí </script> vyskytovat ani v commentu, ani ve stringu. Webserver s PHP dělá něco podstatně jiného (tedy pokud se šeredně nemýlím, neověřoval jsem si to jinak než experimentálně): vezme CELÝ soubor asociovaný pro PHP a předhodí jej PHP enginu a ten pak už poctivě parsuje 'znak po znaku': dokud nenarazí na <? či <?php (podle konfigurace) strká všechno do OB, a až v momentě, kdy na <?php narazí, tak vesele tokenizuje -- tzn dobře ví, zda se ?> vyskytlo někde hluboko ve stringovém literálu, komentáři, heredocu, nebo zda ukončuje PHP blok. Řešení problému chybně zvýrazněné syntaxe se nabízejí v podstatě dvě - schůdné: přizpůsobíme se my a začneme konkatenovat '?>' na '?'.'>' kdykoli budeme chtít mít takový konstrukt uvnitř PHP. - neschůdné: změní se highlighter tak, že se PSPad v podstatě změní na kód parsující IDE. -- <http://forum.pspad.com/read.php?1,57479,57519> PSPad freeware editor http://www.pspad.com
