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数据库操作面向对象的优点
Oct 09 PHP
php实现获取局域网所有用户的电脑IP和主机名、及mac地址完整实例
Jul 18 PHP
PHP实现取得HTTP请求的原文
Aug 18 PHP
javascript some()函数用法详解
Nov 13 PHP
PHP开发框架laravel安装与配置教程
Mar 13 PHP
PHP判断是否连接上网络的方法
Jul 01 PHP
php外部执行命令函数用法小结
Oct 11 PHP
完美解决phpexcel导出到xls文件出现乱码的问题
Oct 29 PHP
php 遍历目录,生成目录下每个文件的md5值并写入到结果文件中
Dec 12 PHP
利用PHP生成CSV文件简单示例
Dec 21 PHP
Yii2 队列 shmilyzxt/yii2-queue 简单概述
Aug 02 PHP
PHP命名空间namespace及use的简单用法分析
Aug 03 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生成xml简单实例代码
2009/12/16 PHP
PHP程序员最常犯的11个MySQL错误小结
2010/11/20 PHP
强烈声明: 不要使用(include/require)_once
2013/06/06 PHP
yii 2.0中表单小部件的使用方法示例
2017/05/23 PHP
php经典趣味算法实例代码
2020/01/21 PHP
用javascript实现的激活输入框后隐藏初始内容
2007/06/29 Javascript
IE Firefox 使用自定义标签的区别
2009/10/15 Javascript
基于JQuery的Select选择框的华丽变身
2011/08/23 Javascript
深入理解JavaScript 闭包究竟是什么
2013/04/12 Javascript
jQuery中[attribute*=value]选择器用法实例
2014/12/31 Javascript
Jquery搜索父元素操作方法
2015/02/10 Javascript
学习Angularjs分页指令
2016/07/01 Javascript
js防阻塞加载的实现方法
2016/09/09 Javascript
百度搜索框智能提示案例jsonp
2016/11/28 Javascript
使用Vue.js和Element-UI做一个简单登录页面的实例
2018/02/23 Javascript
使用vue-cli(vue脚手架)快速搭建项目的方法
2018/05/21 Javascript
Vue-component全局注册实例
2018/09/06 Javascript
vue router导航守卫(router.beforeEach())的使用详解
2019/04/19 Javascript
详解微信小程序-canvas绘制文字实现自动换行
2019/04/26 Javascript
vue 动态组件用法示例小结
2020/03/06 Javascript
vant 时间选择器--开始时间和结束时间实例
2020/11/04 Javascript
html5以及jQuery实现本地图片上传前的预览代码实例讲解
2021/03/01 jQuery
[00:12]DAC SOLO赛卫冕冠军 VG.Paparazi灬展现SOLO技巧
2018/04/06 DOTA
python中dict字典的查询键值对 遍历 排序 创建 访问 更新 删除基础操作方法
2018/09/13 Python
python 保存float类型的小数的位数方法
2018/10/17 Python
使用python3调用wxpy模块监控linux日志并定时发送消息给群组或好友
2019/06/05 Python
Tensorflow训练模型越来越慢的2种解决方案
2020/02/07 Python
德国最大的拼图在线商店:Puzzle.de
2016/12/17 全球购物
触发器(trigger)的功能都有哪些?写出一个触发器的例子
2012/09/17 面试题
高中毕业自我鉴定范文
2013/10/02 职场文书
医学专业毕业生个人的求职信
2013/12/04 职场文书
医务工作者先进事迹材料
2014/01/26 职场文书
幼儿园六一儿童节主持节目串词
2014/03/21 职场文书
2014向国旗敬礼网上签名活动总结
2014/09/27 职场文书
2016形势与政策学习心得体会
2016/01/12 职场文书
详解Js模块化的作用原理和方案
2021/04/29 Javascript