php实现简单的语法高亮函数实例分析


Posted in PHP onApril 27, 2015

本文实例讲述了php实现简单的语法高亮函数。分享给大家供大家参考。具体分析如下:

这是一个php实现的简单语法高亮显示的函数,注意:这个函数设计的比较简单,可能对某些语法不能高亮显示,你可以自己扩充该函数的功能

function syntax_highlight($code){
 // this matches --> "foobar" <--
 $code = preg_replace(
  '/"(.*?)"/U', 
  '"<span style="color: #007F00">$1</span>"', $code
 );
 // hightlight functions and other structures like --> function foobar() <--- 
 $code = preg_replace(
  '/(\s)\b(.*?)((\b|\s)\()/U', 
  '$1<span style="color: #0000ff">$2</span>$3', 
  $code
 );
 // Match comments (like /* */): 
 $code = preg_replace(
  '/(\/\/)(.+)\s/', 
  '<span style="color: #660066; background-color: #FFFCB1;"><i>$0</i></span>', 
  $code
 );
 $code = preg_replace(
  '/(\/\*.*?\*\/)/s', 
  '<span style="color: #660066; background-color: #FFFCB1;"><i>$0</i></span>', 
  $code
 );
 // hightlight braces:
 $code = preg_replace('/(\(|\[|\{|\}|\]|\)|\->)/', '<strong>$1</strong>', $code);
 // hightlight variables $foobar
 $code = preg_replace(
  '/(\$[a-zA-Z0-9_]+)/', '<span style="color: #0000B3">$1</span>', $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/', 
  '<span style="color: #7F007F">$1</span>', $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 '<pre>';
print syntax_highlight($example_php_code);
print '</pre>';
/*example-end*/

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
用PHP和ACCESS写聊天室(四)
Oct 09 PHP
php smarty 二级分类代码和模版循环例子
Jun 01 PHP
一个比较不错的PHP日历类分享
Nov 18 PHP
CI框架中cookie的操作方法分析
Dec 12 PHP
thinkphp备份数据库的方法分享
Jan 04 PHP
php获取文件后缀的9种方法
Mar 22 PHP
PHP随机数 C扩展随机数
May 04 PHP
ECSHOP完美解决Deprecated: preg_replace()报错的问题
May 17 PHP
PHP ADODB生成HTML表格函数rs2html功能【附错误处理函数用法】
May 29 PHP
PHP中16个高危函数整理
Sep 19 PHP
Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作详解
Oct 11 PHP
php实现对短信验证码发送次数的限制实例讲解
Mar 04 PHP
php转换颜色为其反色的方法
Apr 27 #PHP
PHP结合jQuery.autocomplete插件实现输入自动完成提示的功能
Apr 27 #PHP
PHP+jQuery+Ajax实现用户登录与退出
Apr 27 #PHP
php使用cookie实现记住用户名和密码实现代码
Apr 27 #PHP
php使用cookie实现记住登录状态
Apr 27 #PHP
php curl请求信息和返回信息设置代码实例
Apr 27 #PHP
PHP rsa加密解密使用方法
Apr 27 #PHP
You might like
php结合表单实现一些简单功能的例子
2011/06/04 PHP
php中使用addslashes函数报错问题的解决方法
2013/02/06 PHP
PHP中类的自动加载的方法
2017/03/17 PHP
php与阿里云短信接口接入操作案例分析
2020/05/27 PHP
JQUERY设置IFRAME的SRC值的代码
2010/11/30 Javascript
jQuery性能优化的38个建议
2014/03/04 Javascript
js实现格式化金额,字符,时间的方法
2015/02/26 Javascript
JavaScript操作Cookie方法实例分析
2015/05/27 Javascript
jquery验证手机号是否正确实例讲解
2015/11/17 Javascript
AngularJS过滤器详解及示例代码
2016/08/16 Javascript
手机软键盘弹出时影响布局的解决方法
2016/12/15 Javascript
JS中闭包的经典用法小结(2则示例)
2016/12/28 Javascript
vue-cli 自定义指令directive 添加验证滑块示例
2017/10/19 Javascript
JavaScript适配器模式详解
2017/10/19 Javascript
解决Vue.js 2.0 有时双向绑定img src属性失败的问题
2018/03/14 Javascript
Nodejs调用Dll模块的方法
2018/09/17 NodeJs
原生JS实现自定义下拉单选选择框功能
2018/10/12 Javascript
在Django的模型中添加自定义方法的示例
2015/07/21 Python
python虚拟环境virualenv的安装与使用
2016/12/18 Python
用Python shell简化开发
2018/08/08 Python
python3.6.3安装图文教程 TensorFlow安装配置方法
2020/06/24 Python
详解python中的生成器、迭代器、闭包、装饰器
2019/08/22 Python
Windows下实现将Pascal VOC转化为TFRecords
2020/02/17 Python
在python tkinter界面中添加按钮的实例
2020/03/04 Python
解决python3输入的坑——input()
2020/12/05 Python
css3高级选择器使用方法
2013/12/02 HTML / CSS
美国波道夫·古德曼百货官网:Bergdorf Goodman
2017/11/07 全球购物
土木工程毕业生自荐信
2013/09/21 职场文书
副总经理工作职责
2013/11/28 职场文书
我的中国梦演讲稿小学篇
2014/08/19 职场文书
2014年图书管理员工作总结
2014/12/01 职场文书
教师听课评语大全
2014/12/31 职场文书
2015年污水处理厂工作总结
2015/05/26 职场文书
电影开国大典观后感
2015/06/04 职场文书
干货分享:推荐信写作技巧!
2019/06/21 职场文书
pandas求平均数和中位数的方法实例
2021/08/04 Python