php给一组指定关键词添加span标签的方法

yipeiwu_com5年前PHP代码库

本文实例讲述了php给一组指定关键词添加span标签的方法。分享给大家供大家参考。具体如下:

这里是php给一组指定的关键词添加span标签,高亮突出显示关键词

// Example use: $spanned = codeWords($string_containing_keywords);
// My site: andrew.dx.am
// Using colour==blue, but different arrays of words and different 
// colours can be added.
function onlyWholeWords(&$value, $key) {
// Ignores words after // comment delimiters.
//$value = "/\b(" . $value . ")\b/";  // doesn't handle comments
//$value = "/^(?:(?!\/\/).)*\K\b(" . $value . ")\b/"; 
// \K lookbehind alternative is not supported in PHP < 5.2.4, so use:
  $value = "/^((?:(?!\/\/).)*)\b" . $value . "\b/";
}
function addSpan(&$value, $key, $color='blue') {
  $value = "$1<span style='color:$color'>" . $value . "</span>";
}
function codeWords($code) {
  $keywords = array('as', 'break', 'case', 'class',
  'continue', 'default', 'do', 'elif', 'else',
  'elseif', 'for', 'foreach', 'function', 'if', 
  'new', 'null', 'return', 'self', 'switch',
  'this', 'to', 'typeof', 'until',
  'var', 'void', 'while', 'with');
  $keywords2 = $keywords;
  array_walk($keywords, 'onlyWholeWords');
  array_walk($keywords2, 'addSpan', 'blue');
  $code = preg_replace($keywords, $keywords2, $code);
  return $code;
}

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

相关文章

php策略模式简单示例分析【区别于工厂模式】

本文实例讲述了php策略模式。分享给大家供大家参考,具体如下: 策略模式和工厂模式很像。 工厂模式:着眼于得到对象,并操作对象。 策略模式:着重得到对象某方法的运行结果。 示例: /...

PHP中::、-&amp;gt;、self、$this几种操作符的区别介绍

在访问PHP类中的成员变量或方法时,如果被引用的变量或者方法被声明成const(定义常量)或者static(声明静态),那么就必须使用操作符::,反之如果被引用的变量或者方法没有被声明成...

深入浅出讲解:php的socket通信原理

深入浅出讲解:php的socket通信原理

对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问: 1.  什么是TCP/IP、UDP? 2. ...

PHP中HTTP方式下的Gzip压缩传输方法举偶

Gzip压缩传输能更加有效节约带宽流量。他先把文本压缩为.gz然后传输给浏览器,最后由浏览器负责解压缩呈现给用户。 老版本的浏览器可能不能显示,但是现在大多数浏览器都能显示。 启用Gzi...

PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法

复制代码 代码如下: <?php $magic_quotes_gpc = get_magic_quotes_gpc(); @extract(daddslashes($_COOKIE...