本篇文章主要介绍php通过正则表达式实现语法高亮,感兴趣的朋友参考下,希望对大家有所帮助。

本文实例讲述了php实现简单的语法高亮函数。具体分析如下:

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

// this matches --> "foobar"

$code = preg_replace(

'/"(.*?)"/U',

'"$1"', $code

);

// hightlight 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);

// hightlight 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 '

';

print syntax_highlight($example_php_code);

print '

';

/*example-end*/

总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。

相关推荐:

php代码高亮正则,php通过正则表达式实现语法高亮相关推荐

  1. php 正则 规则,PHP 正则表达式的语法规则

    正则表达式描述了一种字符串匹配模式,通过这个模式在特定的函数中对字符串进行匹配.查找.替换及分割等操作.正则表达式作为一个匹配的模板,是由于原子(普通字符.例如 a-z )有特殊功能的字符(称之为元字 ...

  2. pspad c语言语法高亮,PSPad 下载地址以及设置语法高亮的方法 方便看代码

    程序主页:www.pspad.com 特色:语法高亮,自动完成,自定义语法定义文件 使用时,按crtl+J可以自动完成.在输入的命令后按鼠标中键可以显示该命令的解释.在空白处按鼠标中键可 以显示ans ...

  3. wps的高亮怎么用_怎样在WPS上实现代码语法高亮

    本文列举两种可行的方法,在WPS上实现代码语法高亮.其中,第二种方法也可以用到其他编辑软件,譬如Word之类.本文重点讨论第二种方法. 方法1 在WPS官网下载语法高亮插件. 图1 WPS语法高亮插件 ...

  4. wxpython bind自定义_wxpython 支持python语法高亮的自定义文本框控件的代码

    在研发闲暇时间,把开发过程中比较重要的一些代码做个珍藏,下面的代码内容是关于wxpython 支持python语法高亮的自定义文本框控件的代码,应该是对大家也有用. import keyword im ...

  5. C# 代码编辑器实现篇-语法高亮

    创建 C# 编辑器 实现效果 实现步骤 本片介绍基于 AvalonEdit 实现一个支持语法高亮的 C# 编辑器 实现效果 语法高亮 点击编译 实现步骤 在VS中创建窗体应用程序.通过 Nuget 引 ...

  6. vscode写php高亮,写了一个Hy的vscode语法高亮插件

    -------2018 8 3----------- 把函数名和参数改了,正则有点古怪,参考自带的lambda表达式才搞定 但彩色括号走了弯路,各种配图有彩色括号的插件其实很少是自己搞的,其实只要再装 ...

  7. linux如何使用vim显示行号语法高亮,(.vimrc简单使用)

    每次用vim,都要上网查如何使用插件.vimrc,索性就写成博客,省的以后再查了. vimrc就是vim配置文件,正常使用的vim配置很少,最重要的是不显示行号,没有语法高亮. 下面是我平时使用的配置 ...

  8. ABAP开发环境语法高亮的那些事儿

    关于SAP ABAP开发环境,Jerry之前写过几篇公众号文章: 那些年我用过的SAP IDE 不喜欢SAP GUI?那试试用Eclipse进行ABAP开发吧 使用Visual Studio Code ...

  9. typescript语法高亮插件_vscode常用插件

    插件介绍 HTML Snippets > 初级H5代码片段及提示 HTML CSS Support > 初级H5代码片段及提示 Debugger for Chrome > 让 vsc ...

  10. ueditor 编辑器增加css样式_ueditor编辑器实现语法高亮

    ueditor编辑器实现语法高亮 本站前期采用的是dreamlu开源博客搭建,网站后台编辑器采用的是百度ueditor富文本编辑器.在我的迭代改进时,在编辑器上还采用了这一编辑器,不过一直以来发现后台 ...

最新文章

  1. 实战:一次失败的WEB攻击试验,欢迎高手补充
  2. Nature综述: 蓝藻水华的形成机理及防治动态
  3. centos memcached php,centos系统为php安装memcached扩展步骤
  4. Python标准模块—Regular Expressions
  5. Oracle CBO 与 RBO
  6. 手把手视频:万能开源Hawk抓取动态网站
  7. 思科虚拟化与视频技术打造协作新体验
  8. Day10 Python基础之特殊函数(八)
  9. git pull 卡在 Unpacking objects 解决方法
  10. java and dsl_Groovy语法糖以及DSL
  11. 爬空气质量MySQL_爬虫:利用selenium采集某某环境网站的空气质量数据
  12. 用树莓派控制WS2812圣诞树灯饰
  13. PHP上传文件大小和时间限制
  14. linux下哪个分区工具好,这些Linux分区工具是免费的且好用
  15. 怎么查oa系统的服务器地址,oa系统服务器地址如何查
  16. wps如何只让他显示3级标题_WPS如何三级标题
  17. 字节跳动基于ClickHouse优化实践之“高可用”
  18. 10105 - Polynomial Coefficients
  19. 生于80年代,穷于10年代,败于90后
  20. 小程序源码:游戏助手王者战力查询扫码登录多功能微信小程序

热门文章

  1. 结对编程-四则运算(挑战出题)
  2. [HeadFirst-HTMLCSS学习笔记][第八章扩大你的词汇量]
  3. Windows7删除休眠文件hiberfil.sys节省大量C盘空间
  4. Windows软件防火墙实现技术简述
  5. BootStrap入门响应式栅栏
  6. 光耦驱动单向可控硅_光耦继电器在信号传输方面的优势!
  7. vc屏幕录像存为wmv文件_最好用的录像软件,三步实现高清录制?
  8. PHP常用方法(不定时更新)
  9. git 基于master分支 创建其他本地分支,并关联
  10. PHP token检验