>백엔드 개발 >PHP 튜토리얼 >html - PHP 규칙성은 img에 연결을 추가하고 연결 값을 설정합니다.

html - PHP 규칙성은 img에 연결을 추가하고 연결 값을 설정합니다.

WBOY
WBOY원래의
2016-08-18 09:15:531089검색

我数据库里面的富文本数据,就是那种带格式的文章里面包括html标签,现在我就想把这个富文本里面的数据都遍历一下给里面所有的img添加上超链接,然后超链接的连接地址直接设置成img的图片地址,超链接里面还有对应的class样式也得设置上。有没有好的替换方法,求教各位大神

回复内容:

我数据库里面的富文本数据,就是那种带格式的文章里面包括html标签,现在我就想把这个富文本里面的数据都遍历一下给里面所有的img添加上超链接,然后超链接的连接地址直接设置成img的图片地址,超链接里面还有对应的class样式也得设置上。有没有好的替换方法,求教各位大神

可以使用正则,如楼上所说用preg_replace()函数即可。参考替换如下

<code>// $desc 你的富文本数据
$replace = preg_replace('/<\s*img\s+[^>]*?src\s*=\s*('|\")(.*?)\1[^>]*?\/?\s*>/i', '<a class="你要引用的样式" href="$2">$0</a>', $desc);</code>

你可以使用phppreg_replace()函数用正则替换啊

除了LS的用正则表达式的方式来搞之外。如果需求只是要让用户点击图片的时候跳转查看大图/原图的话,为啥不用js来做呢? 很简单的代码就可以搞定,而且不用在服务端来搞:

<code>$('body').on('click', 'img', function(){
    location.href = $(this).attr('src');
});</code>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.