21,891
社区成员
发帖
与我相关
我的任务
分享$str = '网易10余年来一直致力于为广大用户提供方便又贴心的<a href="http://www.163.com/mail.html">电子邮件</a>服务,<a href="http://mail.163.com/" target="_blank">网易邮箱</a>因您的需求而卓越!';网易10余年来一直致力于为广大用户提供方便又贴心的<a href="/?url=http://www.163.com/mail.html">电子邮件</a>服务,<a href="/?url=http://mail.163.com/" target="_blank">网易邮箱</a>因您的需求而卓越!
<?php
function chgurl($matches)
{
return preg_match('/www\.mydomain\.com/i',$matches[0]) ? $matches[0] : '/?url='.urlencode($matches[0]);
}
$str = '网易10余年来一直致力于为广大用户提供方便又贴心的<a href="http://www.163.com/mail.html">电子邮件</a>服务,
<a href="http://mail.163.com/" target="_blank">网易邮箱</a>因您的需求而卓越!
信息来源:<a href="http://www.mydomain.com">自己的网站</a>,<a href="abc.html">某链接</a>';
$str = preg_replace_callback('/(?<=href=")http:[^"]*(?=")/i','chgurl',$str);
var_dump($str);
?>
$str = preg_replace('/<a(.*?)href="(.*?)"(.*?)>(.*?)<\/a>/i','<a$1href="/?url=$2"$3>$4</a>',$str);
echo $str;