怎么给关键字加链接, 但是已经在标签内的跳过

zx32342342 发布于 2012/08/15 11:46
阅读 274
收藏 0
PHP

比如给新闻的"甄子丹"加链接, 我是直接查找替换, 然后排除img标签alt包涵甄子丹的, a链接title的包涵甄子丹的, input的value包涵甄子丹的, 然后其他的替换为带a链接的, 这样可行么

或者有更好的办法, 给关键字加链接, 但是已经在标签内的跳过

加载中
0
酒逍遥
酒逍遥
可以用正则替换 标签之外的文字..
z
zx32342342
之外的文字, 关键在这里啊
0
十一文
十一文
匹配> </ 中间的“甄子丹” 看看 行不行!
z
zx32342342
这样也不可行啊
z
zx32342342
嗯 有想到 但是怕有>或者<这样的符号出现啊
0
酒逍遥
酒逍遥
<?php
$s='
<div>
<a href="http://www.甄子丹.com">甄子丹</a> 甄子丹
<img src="http://www.甄子丹.com/img/baidu_sylogo1.gif">
甄子丹
</div>
';

$keyword='甄子丹';
echo preg_replace('/(?!<[^>]*)('.$keyword.')(?![^<]*>)/i','<a href="">'.$keyword.'</a>',$s);
?>

a标签内的 关键字会被重复添加a 标签..

如果正文中有 <甄子丹> 这种,则不会添加a标签

要完美解决这个问题非常复杂..看你需要多实现什么样的效果了

z
zx32342342
是啊 好复杂 而且还不单单是a标签呢
返回顶部
顶部