>php教程 >php手册 >php给一组指定关键词添加span标签的方法

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

WBOY
WBOY원래의
2016-06-13 09:08:07903검색

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

 具体如下:

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

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

$value = "/^((?:(?!\/\/).)*)\b" . $value . "\b/";

}

function addSpan(&$value, $key, $color='blue') {

$value = "$1" . $value . "";

}

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;

}

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.