python 如何实现PHP替换图片 链接
问题描述
def replace_real_url(html, curr_url): ''' 将 html 中的相对路径替换为 绝对路径 :param html: :param curr_url: :return: ''' if html and curr_url:pattern = ur’<([a-z]{1,5})[^><]*(href|src)=['’]{0,1}([^'’]+)['’]{0,1}[^><]*>’html = re.sub(pattern, lambda x: replace_real_url_callback(x, curr_url), unicode(html), re.I | re.M) return html def replace_real_url_callback(repl, curr_url): ''' 执行替换 :param repl: :param curr_url: :return: ''' ret = repl.group() if repl and repl.lastindex == 3 and repl.group(1).lower() in [’a’, ’img’]:url = urljoin(curr_url, repl.group(3))ret = re.sub(ur’’ + re.escape(repl.group(3)), unicode(url), ret) return ret
如何修正这个替换的方法。
问题解答
回答1:print re.sub(’(<img src='https://www.haobala.com/wenda/)(.+?)(' />)’, r’1aa3’, ’aa<img src='https://www.haobala.com/aaa.jpg' />bb’)# aa<img src='https://www.haobala.com/wenda/aa' />bb
相关文章:
1. 老师,你这两条斜杠的是怎么注释的?2. mac连接阿里云docker集群,已经卡了2天了,求问?3. angular.js - angularjs ng-repeat 不能刷新4. PHP单例模式5. docker 下面创建的IMAGE 他们的 ID 一样?这个是怎么回事????6. angular.js - 用angular2-cli打包项目之后,跳转路由刷新会报404的错误7. css3 - css字体样式加填充色而不是背景色8. node.js - 来帮我捋一下node中fs模块watch实现原理9. docker镜像无法删除,请求解决办法。10. angular.js - angularJS最简单方法实现点击checkbox,button变亮