$abc
=
'欢迎'
;
$c
=
'liw5ucms PHP版本即将发布,欢迎大家关注!en <img src="/static/imghw/default1.png" data-src="/images/hh/02.gif" class="lazy" alt="人民" />dfds <img src="/static/imghw/default1.png" data-src="/img/ad.gif" class="lazy" alt="" />dhh呵呵 <a tittle="人民" href="http://www.qiusongsong.com">站长导航</a> 啊哈哈<a href="http://www.5ucms.com">5ucms</a>啊哈哈 <a href="http://qiusongsong.net">邱嵩松</a>tjgad'
;
echo
'原文=<br>'
.
$c
.
'<hr>'
;
echo
'替换词=<br>'
.
$abc
.
'<hr>'
; // 第一步获取字符串里所有图片的正则表达式 preg_match_all(
"/<img (.*?)\ alt="
怎样用正则匹配不带链接的文字?
" >/i"
,
$c
,
$arryimg
);
$imgtimes
=
count
(
$arryimg
);
for
(
$j
=0;
$j
<
$imgtimes
;
$j
++){ //读取出符合的关键词名称
$img
=
$arryimg
[0][
$j
];
$c
=
str_ireplace
(
$img
,
'@img['
.
$j
.
']@'
,
$c
);//替换掉 变成链接
$qimg
[
$j
] =
$img
;//存入数组 } // 第二步获取字符串里所有超链接的正则表达式 preg_match_all(
"/<a(.*?)>(.*?)<\/a>/i"
,
$c
,
$arrya
);
$atimes
=
count
(
$arrya
);
for
(
$j
=0;
$j
<
$atimes
;
$j
++){ //读取出符合的关键词名称
$a
=
$arrya
[0][
$j
];
$c
=
str_ireplace
(
$a
,
'@a['
.
$j
.
']@'
,
$c
);//替换掉 变成链接
$qa
[
$j
] =
$a
;//存入数组 }
echo
'去图+链接=<br>'
.
$c
.
'<hr>'
; // 第三步 按指定次数替换
$c
=
str_replace
(
$abc
,
'<a href="http://baidu.com" title="百度" >'
.
$abc
.
'</a>'
,
$c
);//替换掉 指定次数 变成链接
echo
'替换结果=<br>'
.
$c
.
'<hr>'
; // 第四步 恢复旧的图片
for
(
$i
=0;
$i
<
count
(
$qimg
);
$i
++){
$c
=
str_replace
(
'@img['
.
$i
.
']@'
,
$qimg
[
$i
],
$c
);//替换掉 指定次数 变成链接 } //第五步 恢复旧的链接
for
(
$i
=0;
$i
<
count
(
$qa
);
$i
++){
$c
=
str_replace
(
'@a['
.
$i
.
']@'
,
$qa
[
$i
],
$c
);//替换掉 指定次数 变成链接 }
echo
'还原结果=<br>'
.
$c
;