$test=ereg_replace("/".$key."/","<font color='red'>".$key."</font>",$str);
解决方案 »
- symfony报错:Couldn't locate driver named mysql
- php中的js判断
- php日历控件问题
- 如何在PHP网站放入视频?
- paypal API 一问
- 征求志愿者,打造国内最专业的PHP论坛(提供1G共享带宽)
- PHP优先级【逻辑或】 “||” 左右两边的优先级是否一样
- apache服务器可以同时支持asp 和 php 吗???各位大虾帮帮忙!!!!!
- 论坛转移新空间 恢复数据出现问题MYSQL版本不对无法恢复 请求帮助!
- mysql中有函数取自动生成的字段值,SQlserver中怎么取呢?
- 如何实现OA中的对WORD文档进行编辑的痕迹保留功能?
- 求一段正规MYSQL表达式~
也关注一下
preg_match_all("/[\x80-\xff]?./",$str,$ar); //分割成数组
if(array_search($key,$ar)) //判断是否存在
看了唠叨的帖子,想了想,也许可行,但实践证明也不行。期待高手!$str = '收昔在洛京,轻薄尤甚,人号云“魏收惊蛱蝶。”文襄曾游东山,令给事黄门侍郎颢等宴。文襄曰:“魏收恃才无宜适,须出其短。”往复数番,收忽大唱曰:“杨遵彦理屈已倒。”愔从容曰:“我绰有馀暇,山立不动,若遇当涂,恐翩翩遂逝。”当涂者魏,翩翩者蛱蝶也。文襄先知之,大笑称善。文襄又曰:“向语犹微,宜更指斥。”愔应声曰:“魏收在并作一篇诗,对众读讫,云:‘打从叔季景出六百斛米,亦不辨此。’远近所知,非敢妄语。”文襄喜曰:“我亦先闻。”众人皆笑。收虽自申雪,不复抗拒,终身病之。';
$key="愔";
preg_match_all("/[\x80-\xff]?./",$str,$ar); //分割成数组
if(array_search($key,$ar)) //判断是否存在
{
$test = str_replace($key,"<font color='red'>".$key."</font>",$str);
echo $test;
}
else
{
echo "没有找到";
}
http://www.tekinginfo.com/coding/forum/cndevforum0209_0309/subject_45302.htm
是$ar[0],不是$ar$key="愔";
//$key="钟";
preg_match_all("/[\x80-\xff]?./",$str,$str1);
preg_match_all("/[\x80-\xff]?./",$key,$key1);
$ar = array_intersect($str1[0],$key1[0]);
print_r($ar); // 将得到$key1在$str1中的位置
一、如果$key="文襄"或其他多余两个汉字的字符串,如何给能够匹配的字符加亮显示。
二、如果$str中不仅仅是中文,还有英文,如何显示出来?具体例子如下:$str = '收昔在洛京,轻薄尤甚,人号云“魏收惊蛱蝶。”文襄曾游东山,abcdef令给事黄门侍郎颢等宴。文襄曰:“魏收恃才无宜适,须出其短。”往复数番,收忽大唱曰:“杨遵彦理屈已倒。”愔从容曰:“我绰有馀暇,山立不动,若遇当涂,恐翩翩遂逝。”当涂者魏,翩翩者蛱蝶也。文襄先知之,大笑称善。文襄又曰:“向语犹微,宜更指斥。”愔应声曰:“魏收在并作一篇诗,对众读讫,云:‘打从叔季景出六百斛米,亦不辨此。’远近所知,非敢妄语。”文襄喜曰:“我亦先闻。”众人皆笑。收虽自申雪,不复抗拒,终身病之。';$key = "文襄";如果找到了与$key相匹配的字符,如何显示出$key前后各若干个汉字的字符串,中英文都要显示出来。且将$key加亮。所需要的结果如下:...轻薄尤甚,人号云“魏收惊蛱蝶。”文襄曾游东山,abcdef令给事黄门侍郎颢等宴。<font color='red'>文襄</font>曰:“魏收恃才无宜适,须出其短。”往复数番,收忽大唱曰:“杨遵彦理屈已倒。”...
...轻薄尤甚,人号云“魏收惊蛱蝶。”<font color='red'>文襄</font>曾游东山,abcdef令给事黄门侍郎颢等宴。<font color='red'>文襄</font>曰:“魏收恃才无宜适,须出其短。”往复数番,收忽大唱曰:“杨遵彦理屈已倒。”...
如果不行,可能是PHP的编码没有选对。
例子:
http://www.nhtip.com/special/bus.shtml查询一切正常。
default-character-set=gb2312
你可以拷贝我上面的例子试一下吗?
// 注意这里为测试方便将"终身病之。"改成了"终钟身病之。"
// 请分别用不同的$key进行测试$key="愔";
$key="钟";
//$key = "文襄";if(strlen($key) > 2 || preg_match_all("/^[\x01-\x7f]+$/",$key,$p)) {
// 当$key多于一个汉字或全为基本ascii字符时,可直接替换
echo str_replace($key,"<font color=red>$key</font>",$str);
}else {
preg_match_all("/[\x80-\xff]?./",$str,$str1);
preg_match_all("/[\x80-\xff]?./",$key,$key1);
$ar = array_intersect($str1[0],$key1[0]); // 获得交集
if(count($ar) > 0) {
$str = $str1[0]; // 为简化书写
foreach($ar as $k=>$v) {
$str[$k] = "<font color=red>$str[$k]</font>"; // 替换
}
echo join("",$str); // 连接成串并输出
}
}
$str = "谓曰:“君有康济才,终不徒然。”便以子孙为托。及贵,追赠长司空,擢其子宁用之。神武自队主转为函使。尝乘驿过建兴,云雾昼晦,雷声随之,半日乃绝,若有牛神应者。每行道路,往来无风尘之色。又尝梦履众星而行,觉而内喜。";
$key="牛";
$test=str_replace($key," <font color='red'> ".$key."</font> ",$str);
echo $test;
?>
把逗号去掉或者改成小写的就正常了 晕!
//补充一点 呵呵
$str = '收昔在洛京,轻薄尤甚,人号云“魏收惊蛱蝶。”文襄曾游东山,令给事黄门侍郎颢等宴。文襄曰:“魏收恃才无宜适,须出其短。”往复数番,收忽大唱曰:“杨遵彦理屈已倒。”愔从容曰:“我绰有馀暇,山立不动,若遇当涂,恐翩翩遂逝。”当涂者魏,翩翩者蛱蝶也。文襄先知之,大笑称善。文襄又曰:“向语犹微,宜更指斥。”愔应声曰:“魏收在并作一篇诗,对众读讫,云:‘打从叔季景出六百斛米,亦不辨此。’远近所知,非敢妄语。”文襄喜曰:“我亦先闻。”众人皆笑。收虽自申雪,不复抗拒,终钟身病之。';
// 注意这里为测试方便将"终身病之。"改成了"终钟身病之。"
// 请分别用不同的$key进行测试$key="你";
//$key="钟";
//$key = "文襄";if(strlen($key) > 2 || preg_match_all("/^[\x01-\x7f]+$/",$key,$p)) {
// 当$key多于一个汉字或全为基本ascii字符时,可直接替换
echo str_replace($key,"<font color=red>$key</font>",$str);
}else {
preg_match_all("/[\x80-\xff]?./",$str,$str1);
preg_match_all("/[\x80-\xff]?./",$key,$key1);
$ar = array_intersect($str1[0],$key1[0]); // 获得交集
if(count($ar) > 0) {
$str = $str1[0]; // 为简化书写
foreach($ar as $k=>$v) {
$str[$k] = "<font color=red>$str[$k]</font>"; // 替换
}
echo join("",$str); // 连接成串并输出
}
else {
echo $str;
}
}
?>
我想得到这样一个数组
arr('当','$','k','e','y','多','于','一','个'汉',字','或','全','为','基','本','a','s','c','i','i','字','符');
请问如何实现?
preg_match_all("/[\x80-\xff]?./",$string,$arr);
是否死也要当PHP的鬼:)
这种方法就是效率不高:(
for($i=0;$i<count($str);$i++)
{
for($j=0,$numb=0;$i<count($key);$j++)
{
if(Ord($str[i])==Ord($key[j]))//判断每一个aci是否相等
{
$numb++;
}
if($numb==(count($key)-1))
{
//表示找到我需要的$key了,这时可以记录 $i 的值到另一数组变量里保存.
}
}
}
以上代码未经调试。只是一种想法.