1,生成SQL关键词,去除了特殊字符
2,关键词描红,
3,可选是否过滤。
/* 关键词描红 */
function SearchReplaceKw($string,$sokw='',$useSafe=false)
{
if($useSafe) $sokw = SafeStrip($sokw);
if(empty($sokw) || empty($string)) return $string;
$sokw = preg_replace('/\s+/','|',$sokw);
return preg_replace("/($sokw)/",'<font color="red">\\1</font>',$string);
}
/* 去除特殊字符,不包括空格 */
function SafeStrip($kw)
{
if(strlen($kw) == 0) return '';
$badString = '~!@#$%^&*()_+|-=\\{}[];\':",./<>?';
$length = strlen($badString);
$pos = 0;
while($pos < $length)
{
$kw = str_replace($badString{$pos},'',$kw);
$pos++;
}
return preg_replace('/([\r\n\t]+)/','',$kw);
}
function MkQueryString($string,$useSafe=true)
{
if($useSafe) $string = SafeStrip($string);
if(empty($string)) return '';
return preg_replace("/([\s%]+)/",'%', '%'.trim($string).'%');
}