怎么实现如搜索引擎对Description关键字那样查找匹配的字符串? 本帖最后由 mithetwo 于 2012-06-18 10:53:41 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 确定关键词了,那就substr_count($string, $key); 分段累加,保存最大的那段 起码限制一下description的长度吧,这是《编程之美》里的最短摘要问题,或者类似的变形需求。先找出字符串里所有的德国和皮球的出现位置,然后准备left, right指针指向头部,right往右走,一直到[left, right]同时包含两个关键字为止,然后left开始往右走,一直到任意一个关键字计数为要减少为0就停止,继续走right,方法一样。 本帖最后由 xuzuning 于 2012-06-18 13:53:52 编辑 第一步$ar = preg_split('/(德国|皮球)/', $varchar, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_OFFSET_CAPTURE);print_r($ar);得到Array( [0] => Array ( [0] => 德国 [1] => 0 ) [1] => Array ( [0] => 和丹麦都在第一场比赛1-0获胜,在次轮比赛中, [1] => 4 ) [2] => Array ( [0] => 德国 [1] => 47 ) [3] => Array ( [0] => 2-1击败荷兰,两场小组赛战罢, [1] => 51 ) [4] => Array ( [0] => 德国 [1] => 80 ) [5] => Array ( [0] => 队虽然拿到了6分,但依然未能保证出线,最后一场如果输给丹麦仍然有出局可能。丹麦上一场在0-2落后的情况下连追两球,但最后还是2-3输给葡萄牙,将小组次席拱手让给葡萄牙。丹麦想要出线必须力争击败 [1] => 84 ) [6] => Array ( [0] => 德国 [1] => 273 ) [7] => Array ( [0] => ,好在他们也不缺乏击败 [1] => 277 ) [8] => Array ( [0] => 德国 [1] => 299 ) [9] => Array ( [0] => 的感觉。在两队最近3场交手中,丹麦令人吃惊地2胜1平占据上风,最近一次交手是在2010年8月,丹麦在落后两球情况下扳平比分。两队上一次在欧洲杯交手则是1992年欧洲杯决赛,当时正是丹麦童话的巅峰,北欧人2-0击败 [1] => 303 ) [10] => Array ( [0] => 德国 [1] => 500 ) [11] => Array ( [0] => 夺冠。在 [1] => 504 ) [12] => Array ( [0] => 德国 [1] => 516 ) [13] => Array ( [0] => 队前两场比赛中,戈麦斯成为最大的亮点。超级马里奥连续两场比赛包揽了 [1] => 520 ) [14] => Array ( [0] => 德国 [1] => 586 ) [15] => Array ( [0] => 3粒进球,恐怖的是他进3球居然只花了6脚射门。戈麦斯目前以3球排名射手榜首位,自从1976年欧洲杯穆勒单届射进4球以来, [1] => 590 ) [16] => Array ( [0] => 德国 [1] => 701 ) [17] => Array ( [0] => 队此后36年还没有任何球员欧洲杯单届进球超过3个。左边锋波多尔斯基在此前两场小组赛均打满全场,国家队出场次数达到99场,本场有望实现百场。双方都没有对首发阵容进行大的调整, [1] => 705 ) [18] => Array ( [0] => 德国 [1] => 876 ) [19] => Array ( [0] => 队只是因为博阿滕停赛而派上了本德,丹麦也只换上鲍尔森,队内元老罗梅达尔因伤缺席。本场 [1] => 880 ) [20] => Array ( [0] => 德国 [1] => 964 ) [21] => Array ( [0] => 前锋波多尔斯基迎来国家队第100场比赛,小将本德则是首次在国家队首发。第2分钟,赫迪拉禁区前沿左侧传中,中路无人拿到 [1] => 968 ) [22] => Array ( [0] => 皮球 [1] => 1084 ) [23] => Array ( [0] => ,后点穆勒胸部停球后左脚抽射稍稍高出。第5分钟,丹麦左侧角球,本特纳远点头球攻门被诺伊尔拿到。1分钟后, [1] => 1088 ) [24] => Array ( [0] => 德国 [1] => 1190 ) [25] => Array ( [0] => 迅速反击,厄齐尔左侧直塞,波多尔斯基传中,克亚尔解围不力,穆勒门前3米处射门被安德森神奇化解。第12分钟,戈麦斯禁区外围左脚远射高出。 [1] => 1194 )) php set_include_path 疑惑 学习PHP要安装哪些软件 急,请帮我看下我这个类错在哪里,为什么在服务器上就运行处问题,自己XP电脑没问题 php:查询数据库同时不能打开其他页面 大家帮我看一下这个连接数据库的问题,怎么出错呢?????? 高分求解答网站多语言问题 100救急啊!php和access能连接吗?怎么连? $_SESSION["name"]怎么会为空??急救!!!!! 谁能给我一个PHP通过IAMP读/写信箱中信件的例子 simplexml_load_file超时报错,请问怎么得到这个错误 求一个php正则表达 去除非数字 memcached 比方只设置了10G 现在使用可以超过100G ...
$ar = preg_split('/(德国|皮球)/', $varchar, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_OFFSET_CAPTURE);
print_r($ar);得到Array
(
[0] => Array
(
[0] => 德国
[1] => 0
) [1] => Array
(
[0] => 和丹麦都在第一场比赛1-0获胜,在次轮比赛中,
[1] => 4
) [2] => Array
(
[0] => 德国
[1] => 47
) [3] => Array
(
[0] => 2-1击败荷兰,两场小组赛战罢,
[1] => 51
) [4] => Array
(
[0] => 德国
[1] => 80
) [5] => Array
(
[0] => 队虽然拿到了6分,但依然未能保证出线,最后一场如果输给丹麦仍然有出局可能。丹麦上一场在0-2落后的情况下连追两球,但最后还是2-3输给葡萄牙,将小组次席拱手让给葡萄牙。丹麦想要出线必须力争击败
[1] => 84
) [6] => Array
(
[0] => 德国
[1] => 273
) [7] => Array
(
[0] => ,好在他们也不缺乏击败
[1] => 277
) [8] => Array
(
[0] => 德国
[1] => 299
) [9] => Array
(
[0] => 的感觉。在两队最近3场交手中,丹麦令人吃惊地2胜1平占据上风,最近一次交手是在2010年8月,丹麦在落后两球情况下扳平比分。两队上一次在欧洲杯交手则是1992年欧洲杯决赛,当时正是丹麦童话的巅峰,北欧人2-0击败
[1] => 303
) [10] => Array
(
[0] => 德国
[1] => 500
) [11] => Array
(
[0] => 夺冠。在
[1] => 504
) [12] => Array
(
[0] => 德国
[1] => 516
) [13] => Array
(
[0] => 队前两场比赛中,戈麦斯成为最大的亮点。超级马里奥连续两场比赛包揽了
[1] => 520
) [14] => Array
(
[0] => 德国
[1] => 586
) [15] => Array
(
[0] => 3粒进球,恐怖的是他进3球居然只花了6脚射门。戈麦斯目前以3球排名射手榜首位,自从1976年欧洲杯穆勒单届射进4球以来,
[1] => 590
) [16] => Array
(
[0] => 德国
[1] => 701
) [17] => Array
(
[0] => 队此后36年还没有任何球员欧洲杯单届进球超过3个。左边锋波多尔斯基在此前两场小组赛均打满全场,国家队出场次数达到99场,本场有望实现百场。双方都没有对首发阵容进行大的调整,
[1] => 705
) [18] => Array
(
[0] => 德国
[1] => 876
) [19] => Array
(
[0] => 队只是因为博阿滕停赛而派上了本德,丹麦也只换上鲍尔森,队内元老罗梅达尔因伤缺席。本场
[1] => 880
) [20] => Array
(
[0] => 德国
[1] => 964
) [21] => Array
(
[0] => 前锋波多尔斯基迎来国家队第100场比赛,小将本德则是首次在国家队首发。第2分钟,赫迪拉禁区前沿左侧传中,中路无人拿到
[1] => 968
) [22] => Array
(
[0] => 皮球
[1] => 1084
) [23] => Array
(
[0] => ,后点穆勒胸部停球后左脚抽射稍稍高出。第5分钟,丹麦左侧角球,本特纳远点头球攻门被诺伊尔拿到。1分钟后,
[1] => 1088
) [24] => Array
(
[0] => 德国
[1] => 1190
) [25] => Array
(
[0] => 迅速反击,厄齐尔左侧直塞,波多尔斯基传中,克亚尔解围不力,穆勒门前3米处射门被安德森神奇化解。第12分钟,戈麦斯禁区外围左脚远射高出。
[1] => 1194
))