This article mainly introduces the implementation of simple syntax highlighting function in php, and an example analysis of php implementing grammar through regular expressions For highlighting related skills, friends in need can refer to it
The example in this article describes how to implement a simple syntax highlighting function in PHP. Share it with everyone for your reference. The specific analysis is as follows:
This is a simple syntax highlighting function implemented in PHP. Note: This function is relatively simple in design and may not be able to highlight certain syntaxes. You can expand the function of this function yourself
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
function syntax_highlight($code){ // this matches --> "foobar" <-- $code = preg_replace( '/"(.*?)"/U', '"$1"', $code ); // highlight functions and other structures like --> function foobar() <--- $code = preg_replace( '/(s)b(.*?)((b|s)()/U', '$1$2$3', $code ); // Match comments (like /* */): $code = preg_replace( '/(//)(. )s/', '$0', $code ); $code = preg_replace( '/(/*.*?*/)/s', '$0', $code ); // hightlight braces: $code = preg_replace('/((|[|{|}|]|)|->)/', '$1', $code); // highlight variables $foobar $code = preg_replace( '/($[a-zA-Z0-9_] )/', '$1', $code ); /* The b in the pattern indicates a word boundary, so only the distinct ** word "web" is matched, and not a word partial like "webbing" or "cobweb" */ // special words and functions $code = preg_replace( '/b(print|echo|new|function)b/', '$1', $code ); return $code; } /*example-start*/ /* ** Create some example PHP code: */ $example_php_code = ' // some code comment: $example = "foobar"; print $_SERVER["REMOTE_ADDR"]; $array = array(1, 2, 3, 4, 5); function example_function($str) { //reverse string echo strrev($obj); } print example_function("foo"); /* ** A multiple line comment */ print "Something: " . $example;'; //output the formatted code: print ' ';</p> <p>print syntax_highlight($example_php_code);</p> <p>print ''; /*example-end*/ |
I hope this article will be helpful to everyone’s PHP programming design.