Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[已答复] href正则替换出现[Unknown modifier '?']问题?

[复制链接]
xiaochun1027 发表于 2010-1-13 12:03:37 | 显示全部楼层 |阅读模式
本帖最后由 xiaochun1027 于 2010-01-13 14:41 编辑

Unknown modifier '?'
代码如下:
  1. $str = '<a id="top8" href="http://www.yousite.com/?action-category-catid-16" class="p14" target="_top">歌曲列表</a><br><a target="_blank" id="bp" href="http://www.yousite.com/?action-viewnews-itemid-1034" class="p14">中文金曲榜</a><br><td nowrap="nowrap">&#8226;&nbsp;<a id="top19" href="qingyinyue.html?top19" class="p14" target="_top">轻音乐</a></td>';
  2. $preg_searchs = $preg_replaces = $str_searchs = $str_replaces = $temp = array();
  3. $pat = '/<a(.*?)href="(.*?)"(.*?)>(.*?)<\/a>/i';
  4. preg_match_all($pat, $str, $m);
  5. $str = preg_replace($m[2], $replacestr, $str);
复制代码
以上打印出$m[2]为:
Array ( [0] => http://www.yousite.com/?action-category-catid-16 [1] => http://www.yousite.com/?action-viewnews-itemid-1034 [2] => qingyinyue.html?top19 )

报错信息为:
Warning: preg_replace() [function.preg-replace]: Unknown modifier '?' in

$replacestr为$m[2]中各个超链接要替换成的内容的存放数组

个人觉得应该是哪个地方不匹配,但自己对正则不熟,请各位指点!

评分

1

查看全部评分

 楼主| xiaochun1027 发表于 2010-1-13 14:40:49 | 显示全部楼层
问题已经解决!因为最后只是将处理好的固定字符串替换,从效率上考虑,将最后一句代码换成
$str = str_replace($m[2], $replacestr, $str);
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-18 14:42 , Processed in 0.018575 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表