• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

求高手,看上这段正则错哪了?

php 搞代码 3年前 (2022-01-24) 18次浏览 已收录 0个评论

求高手,看下这段正则哪里错了??
需求:将字符串$str 内的 href内的超链接提取出来,如果提取出来的超链接包含”id=数字”的话,将其替换为go.php?id=数字,否则的话替换本文来源gao@daima#com搞(%代@#码@网&搞gaodaima代码为#,并将替换后的链接放回原处,现在的情况是,虽然可以提取,但是在放回原处时把整个标签全部都给替换了,我现在只想替换href内的网址,哪里出错了??

$str=”;

$str=preg_replace(‘[a-zA-z]+://[^\s]*’,’endecode::showdescurl(“$2”)’,$str);

echo $str;

endecode类的静态方法:showdescurl代码如下:

PHP code

<!---ecms Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->static function showdescurl($url){         if(strpos($url,'id') !==false){        preg_match('/id=(\d+)/i',$url,$ar);        return  'go.php?id='.$ar[1];     }else{        return '#';          }          }

——解决方案——————–
$str = preg_replace(‘#(?<=href…)([a-zA-z]+://)([^\'"]*)#e','endecode::showdescurl("$2")',$str);


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:求高手,看上这段正则错哪了?
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址