生成搜索风格的字符串即关键字用指定颜色并适当剪裁字符串
2007-04-20 09:43
351 查看
<?
/*
* 可以避免乱码的截取汉字
* 参数 $str 为字符串,$start 为开始字符,$len 结束字符
* 返回截取后的字符
*/
function msubstr($str, $start, $len) {
$tmpstr = "";
$strlen = $start + $len;
for($i = 0; $i < $strlen; $i++) {
if(ord(substr($str, $i, 1)) > 0xa0) {
$tmpstr .= substr($str, $i, 2);
$i++;
} else
$tmpstr .= substr($str, $i, 1);
}
return $tmpstr;
}
/*****************************************************************
*功能:
* 将一个字符串转换为搜索风格的字符串,即关键字用特殊颜色标记
* 字符串长度超出指定长度则截取。
*参数:
* $key: 关键字
* $str: 原始字符串
* $len: 字符串保留长度
* $keycolor: 关键字颜色,默认为红色
*返回值:搜索风格的字符串
*日期:2007-04-19
*作者:高西林
*版权:高西林
*修改记录:
*****************************************************************/
function search_style($key,$str,$len,$keycolor='#FF0000')
{
$oldstr = $str;
$keystyle = "<font color=/"$keycolor/">$key</font>";
if(strlen($str) > $len)
{
$index = stripos($oldstr,$key);
$keylen = strlen($key);
if($index + $keylen <= $len)
{
$oldstr = msubstr($str,0, $len);
}
else
{
$oldstr = msubstr($str,$index + $keylen - $len, $len);
}
}
$newstr = preg_replace("/$key/i", $keystyle, $oldstr);
return $newstr;
}
?>
<?php
///使用实例
echo search_style("风格","搜索风格测试",20)."...";
?>
运行结果如下:
搜索风格测试...
/*
* 可以避免乱码的截取汉字
* 参数 $str 为字符串,$start 为开始字符,$len 结束字符
* 返回截取后的字符
*/
function msubstr($str, $start, $len) {
$tmpstr = "";
$strlen = $start + $len;
for($i = 0; $i < $strlen; $i++) {
if(ord(substr($str, $i, 1)) > 0xa0) {
$tmpstr .= substr($str, $i, 2);
$i++;
} else
$tmpstr .= substr($str, $i, 1);
}
return $tmpstr;
}
/*****************************************************************
*功能:
* 将一个字符串转换为搜索风格的字符串,即关键字用特殊颜色标记
* 字符串长度超出指定长度则截取。
*参数:
* $key: 关键字
* $str: 原始字符串
* $len: 字符串保留长度
* $keycolor: 关键字颜色,默认为红色
*返回值:搜索风格的字符串
*日期:2007-04-19
*作者:高西林
*版权:高西林
*修改记录:
*****************************************************************/
function search_style($key,$str,$len,$keycolor='#FF0000')
{
$oldstr = $str;
$keystyle = "<font color=/"$keycolor/">$key</font>";
if(strlen($str) > $len)
{
$index = stripos($oldstr,$key);
$keylen = strlen($key);
if($index + $keylen <= $len)
{
$oldstr = msubstr($str,0, $len);
}
else
{
$oldstr = msubstr($str,$index + $keylen - $len, $len);
}
}
$newstr = preg_replace("/$key/i", $keystyle, $oldstr);
return $newstr;
}
?>
<?php
///使用实例
echo search_style("风格","搜索风格测试",20)."...";
?>
运行结果如下:
搜索风格测试...
相关文章推荐
- C# 自定义Label实现 指定字符串(关键词)高亮显示(字体、颜色)
- java格式化字符串,在指定位置插入指定字符串,兼容中英文以及特殊字符,例如:换行,用于解决生成pdf换行问题等问题
- 生成指定长度随机字符串
- Java生成固定长度的字符串,长度不足自动填充指定字符
- java读取文档替换指定字符串后生成新的文档
- 生成指定长度的字符串
- 批处理生成指定格式的日期时间字符串
- MS-SQL SERVER从字符串中搜索符合指定范围的数值--【叶子】
- 根据查询的关键字,实现获取百度指定页数的搜索结果的信息(网页地址,标题,摘要,并有排序的说明)
- 问题求解,关于java随机生成指定长度的字符串
- ABAP SEARCH 搜索指定字符串
- js生成指定范围内指定长度随机不重复的字符串数组
- 搜索的关键字变颜色
- 用GO生成指定长度的随机字符串
- 字符串关键字搜索匹配提取处理算法
- eclipse-以指定颜色高亮显示选中关键字
- 生成一个指定长度的随机字符串
- Java随机密码生成器,Java随机生成长度不少于6的指定长度的密码,且这个字符串必须包含大小写字母、数字和特殊字符,四种的任意三种
- Java指定长度随机生成的字符串,且这个字符串必须包含大小写字母和数字
- C语言生成指定长度随机字符串