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 class Ender{ private $enkey;//加密解密用的密钥...

PHP 5.0对象模型深度探索之属性和方法

可以联用->,如果一个对象的属性包含了一个对象,你可以使用两个->运算符来得到内部对象的属性. 你甚至可以用双重引用的字符串来放置这些表达式. 下面的例子中,对象Ho...

PHP获取数组中单列值的方法

本文实例讲述了PHP获取数组中单列值的方法。分享给大家供大家参考,具体如下: PHP中获取数组中单列的值如下: 利用PHP中的数组函数 array_column():返回数组中某个单列的...

php 正则表达式小结

列目录时, dir *.txt或ls *.txt中的*.txt就不是一个正则表达式,因为这里*与正则式的*的含义是不同的。    正则表达式是由普通字符(例如字符 a 到 z)以及特殊字...

php事件驱动化设计详解

本文实例讲述了php事件驱动化设计。分享给大家供大家参考,具体如下: 最近在做一个需要用到异步php的项目, 翻阅php源码的时候,发现了三个没有用过的模块,sysvsem,sysvsh...