2011. november 8., kedd

(Multiline) comment regex PHP preg-re

http://ostermiller.org/findcomment.html
A fenti oldalon egy jól össszerakott regex van.
(/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/)|(//.*)

Hogy PHP preg függvényei is bevegyék, cserélni kell a '/' jeleket '\/' kvótázott változatra.
Tehát comment törlés esetén pl.:
$str = preg_replace('/(\/\*([^*]|[\r\n]|(\*+([^*\/]|[\r\n])))*\*+\/)|(\/\/.*)/', '', $str);

A karaktercserékre akkor van szükség, ha ragaszkodunk a PCRE '/' határoló karaktereihez.
Mert ha a határolók között megadott kifejezés tartalmazza a határoló karaktert, akkor azt kvótázni kell.

Ha más elválasztót választunk, akkor:
$str = preg_replace('#(/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/)|(//.*)#', '', $str);

Nincsenek megjegyzések:

Megjegyzés küldése