php 遍历 a 标签 php 遍历 a 标签比如 str="<a class=''>sdfaasdf</a><a class=''>sdfaasdf</a><a class=''>sdfaasdf</a>"用php 遍历a 给最后一个a 的class赋值 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果只是给最后一个a的class赋值,直接替换就是了。不需要什么遍历。 $str = "<a class=''>sdfaasdf</a><a class=''>sdfaasdf</a><a class=''>sdfaasdf</a>";$str = htmlspecialchars($str);$arr = explode('sdfaasdf',$str);$three = $arr[2];$three = str_replace("class=''","class='test'",$three);$arr[2] = $three;$str = implode('sdfaasdf',$arr);$str = htmlspecialchars_decode($str);代码我写了下 应该可以的 你试下吧 $str="<a class=''>sdfaasdf</a><a class=''>sdfaasdf</a><a class=''>sdfaasdf</a>";$class='test';echo stripslashes(preg_replace("#(<a class=')('>[^<]+</a>)$#e",'"$1"."$class"."$2"',$str)); $str="<a class='dfg'>sdfaasdf</a><a class='sdff'>sdfaasdf</a><a class='sdff'>sdfaasdf</a>";$class='test';echo stripslashes(preg_replace("#(<a class=')('>[^<]+</a>)$#e",'"$1"."$class"."$2"',$str));这样就不行了??? 直接在css里定义一下不是更好吗? 用JQUERY吧,$("a").attr("your link"); preg_match_all "|<a*>*</a> |U"preg_replace "|<a class=\"(*)">*</a>" $1 "you classname" 如果是 $str="<a class='asdf'>sdfaasdf</a><a class='qwer'>sdfaasdf</a><a class='hjkl'>sdfaasdf</a>" 就不好使了哦 提问要把问题一次性说完!echo stripslashes(preg_replace("#(<a class=')[^']*('>[^<]+</a>)$#e",'"$1"."$class"."$2"',$str)); 其实你可以这样$str="<a class='dfg'>sdfaasdf</a><a class='sdff'>sdfaasdf</a><a class='sdff'>sdfaasdf</a>";$doc = @DOMDocument::loadHTML($str);$n = $doc->getElementsByTagName('a');$n->item($n->length - 1)->setAttribute('class', 'test');echo $doc->saveHTML();<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"><html><body><a class="dfg">sdfaasdf</a><a class="sdff">sdfaasdf</a><a class="test">sdfaasdf</a></body></html>DOMDocument::loadHTML($str) 居然会报 Strict Standards: Non-static method DOMDocument::loadHTML() should not be called statically in ...可见现在的世界有多浮躁了(php 5.4.12) XML 用的是 utf-8 编码,不可能乱码的 有关循环的问题 怎么修改服务器mysql的字符集 看到一好文章 跟大家分享! 求助,关于PHP算法 请问这个session有什么好办法注册? 有谁知道phpmyadmin在哪可以下载?谢谢 请问使用php如何在linux中添加用户? curl post问题 想建立音乐库,有没有办法在mp3文件上传时取得文件的播放时间长度 求助 安装https证书错误 PHP 完成.NET ___STATESVIEW查看功能 php数组问题
$str = htmlspecialchars($str);
$arr = explode('sdfaasdf',$str);
$three = $arr[2];
$three = str_replace("class=''","class='test'",$three);
$arr[2] = $three;
$str = implode('sdfaasdf',$arr);
$str = htmlspecialchars_decode($str);
代码我写了下 应该可以的 你试下吧
$class='test';
echo stripslashes(preg_replace("#(<a class=')('>[^<]+</a>)$#e",'"$1"."$class"."$2"',$str));
$str="<a class='dfg'>sdfaasdf</a><a class='sdff'>sdfaasdf</a><a class='sdff'>sdfaasdf</a>";
$class='test';
echo stripslashes(preg_replace("#(<a class=')('>[^<]+</a>)$#e",'"$1"."$class"."$2"',$str));这样就不行了???
preg_replace "|<a class=\"(*)">*</a>" $1 "you classname"
echo stripslashes(preg_replace("#(<a class=')[^']*('>[^<]+</a>)$#e",'"$1"."$class"."$2"',$str));
$doc = @DOMDocument::loadHTML($str);
$n = $doc->getElementsByTagName('a');
$n->item($n->length - 1)->setAttribute('class', 'test');
echo $doc->saveHTML();
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><a class="dfg">sdfaasdf</a><a class="sdff">sdfaasdf</a><a class="test">sdfaasdf</a></body></html>
DOMDocument::loadHTML($str) 居然会报 Strict Standards: Non-static method DOMDocument::loadHTML() should not be called statically in ...
可见现在的世界有多浮躁了(php 5.4.12)