我在添加文章的时候,需要自动生成锚文本,关键词去匹配文章内容时,会匹配到img的alt和title值,图片会出现异常。
各位大神,帮我解决一下!谢谢了!
原来想要的是<p><img title="xxx" alt="PHP怎么匹配img标签外的数据并替换,img的数据不变" >这些文字加链接</p>
<div class="aritcle_card">
<a class="aritcle_card_img" href="/ai/766">
<img src="https://img.php.cn/upload/ai_manual/000/000/000/175679962280150.png" alt="Dora">
</a>
<div class="aritcle_card_info">
<a href="/ai/766">Dora</a>
<p>创建令人惊叹的3D动画网站,无需编写一行代码。</p>
<div class="">
<img src="/static/images/card_xiazai.png" alt="Dora">
<span>547</span>
</div>
</div>
<a href="/ai/766" class="aritcle_card_btn">
<span>查看详情</span>
<img src="/static/images/cardxiayige-3.png" alt="Dora">
</a>
</div>
<p><span>立即学习</span>“<a href="https://pan.quark.cn/s/7fc7563c4182" style="text-decoration: underline !important; color: blue; font-weight: bolder;" rel="nofollow" target="_blank">PHP免费学习笔记(深入)</a>”;</p>
出错内容:<img title="<a href=" http: alt="PHP怎么匹配img标签外的数据并替换,img的数据不变" >xxx'/>
我的代码是这样写的:
<code>/**
* 多关键词替换,每个替换一次
* @param Mixed $search 查找目标值
* @param Mixed $replace 替换值
* @param Mixed $subject 执行替换的字符串/数组
* @param Int $limit 允许替换的次数,默认为-1,不限次数
* @return Mixed
*/
function str_replace_limit($search, $replace, $subject, $limit=-1){
if(is_array($search)){
foreach($search as $k=>$v){
$search[$k] = '`'. preg_quote($search[$k], '`'). '`';
}
}else{
$search = '`'. preg_quote($search, '`'). '`';
}
return preg_replace($search, $replace, $subject, $limit);
}
foreach ($keylink as $k){
$keyArray[] = $k->word;
$url = '<a href="'.$k->url.'" style="color:red;font-size:1.2em;">'.$k->word.'</a>';
$replacement[] = $url;
}</code>我在添加文章的时候,需要自动生成锚文本,关键词去匹配文章内容时,会匹配到img的alt和title值,图片会出现异常。
各位大神,帮我解决一下!谢谢了!
原来想要的是<p><img title="xxx" alt="PHP怎么匹配img标签外的数据并替换,img的数据不变" >这些文字加链接</p>
<p><span>立即学习</span>“<a href="https://pan.quark.cn/s/7fc7563c4182" style="text-decoration: underline !important; color: blue; font-weight: bolder;" rel="nofollow" target="_blank">PHP免费学习笔记(深入)</a>”;</p>
出错内容:<img title="<a href=" http: alt="PHP怎么匹配img标签外的数据并替换,img的数据不变" >xxx'/>
我的代码是这样写的:
<code>/**
* 多关键词替换,每个替换一次
* @param Mixed $search 查找目标值
* @param Mixed $replace 替换值
* @param Mixed $subject 执行替换的字符串/数组
* @param Int $limit 允许替换的次数,默认为-1,不限次数
* @return Mixed
*/
function str_replace_limit($search, $replace, $subject, $limit=-1){
if(is_array($search)){
foreach($search as $k=>$v){
$search[$k] = '`'. preg_quote($search[$k], '`'). '`';
}
}else{
$search = '`'. preg_quote($search, '`'). '`';
}
return preg_replace($search, $replace, $subject, $limit);
}
foreach ($keylink as $k){
$keyArray[] = $k->word;
$url = '<a href="'.$k->url.'" style="color:red;font-size:1.2em;">'.$k->word.'</a>';
$replacement[] = $url;
}</code>
能看下代码不
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号