佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1058|回复: 5

php : 类似google 搜索结果, 搜索了一段, 结果太长了, 如何只拿一部分?

[复制链接]
发表于 16-4-2011 08:32 AM | 显示全部楼层 |阅读模式
类似google 搜索结果, 搜索了一段, 结果太长了, 如何只拿一部分? 谢谢

回复

使用道具 举报


ADVERTISEMENT

发表于 16-4-2011 10:38 AM | 显示全部楼层
mysql 的 SUBSTRING
回复

使用道具 举报

 楼主| 发表于 17-4-2011 11:24 PM | 显示全部楼层
本帖最后由 MadD 于 17-4-2011 11:38 PM 编辑

我写了以下的方法收索

http://tapiv.zxq.net/ma/string7.php

可是在 highlight 时有些问题, 代码如下:

$text = str_ireplace($_GET, '<span class="highlight_word">'.$_GET.'</span>', $text);

如$_GET 是 new (小写), str_ireplace 将把文章大写的都换成了小写, 如何是好? 谢谢。

回复

使用道具 举报

发表于 18-4-2011 09:58 AM | 显示全部楼层
  1. $text = str_ireplace($_GET, '<span class="highlight_word">'.$_GET.'</span>', $text);
复制代码
因为你是拿user type下去的keyword来search 所以当然出来的result就是这样咯。。
你应该拿文章里面的字先。。在来highlight吧~
回复

使用道具 举报

发表于 18-4-2011 11:40 AM | 显示全部楼层
用preg_replace
  1. <?php
  2.   $search = 'new';
  3.   $text = 'NEW something new something New something newer knew something';

  4.   $meta = '/([\\\^\$\.\[\]\|\(\)\*\+\{\}\-])/';

  5.   $pattern = '/\b' . preg_replace( $meta, '\\\\$0', $search ) . '\b/i';
  6.   $text = preg_replace( $pattern, '<span class="highlight_word" style="color:red;" >$0</span>', $text );

  7.   print_r( $text );
  8.   //<span class="highlight_word" style="color: red;">NEW</span> something <span class="highlight_word" style="color: red;">new</span> something <span class="highlight_word" style="color: red;">New</span> something newer knew something
复制代码
回复

使用道具 举报

发表于 18-4-2011 03:19 PM | 显示全部楼层
忘了告诉你,上述的例子并不完整。
回复

使用道具 举报

Follow Us
您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 15-11-2025 01:35 AM , Processed in 0.093731 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表