<?php // Plug-in 5: Word Selector
// This is an executable example with additional code supplied
// To obtain just the plug-ins please click on the Download link
$words = array("the", "this", "that", "is", "these");
$text = "We hold These truths to be self-evident, that all men are created equal, that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty and the pursuit of Happiness.";
echo PIPHP_WordSelector($text, $words, "u") . "<br /><br />";
echo PIPHP_WordSelector($text, $words, "****");
function PIPHP_WordSelector($text, $matches, $replace)
{
// Plug-in 5: Word Selector
//
// This plug-in takes a string variable containing any
// text and then matches and selects words within the
// text, highlighting or removing them. The arguments
// required are:
//
// $text: Text to be modified
// $matches: Array of words to match
// $replace: String to replace matches with, or if
// one of these the text is highlighted:
// "u", "b", "i" = underline, bold or italic.
foreach($matches as $match)
{
switch($replace)
{
case "u":
case "b":
case "i":
$text = preg_replace("/([^\w]+)($match)([^\w]+)/i",
"$1<$replace>$2</$replace>$3", $text);
break;
default:
$text = preg_replace("/([^\w]+)$match([^\w]+)/i",
"$1$replace$2", $text);
break;
}
}
return $text;
}
?>
1.插件说明:
插件5需要三个参数,一个参数表示需要处理的文本,一个数组代表需要突出显示的单词,还有一个参数代表突出显示的类型。它们是:
$text 字符串参数,表示需要处理的文本
$matches 数组,表示需要突出显示的单词
$replace 字符串参数,代表对相应单词采取的动作。如果它的值是u,b或i,则相应使用下划线、粗体或斜线突出显示匹配的单词,否则用replace参数里的内容替换相应的单词。