목차
微信群发图文,content中图片显示不出
Jun 06, 2016 pm 08:06 PM
php
위챗
위챗 공개 플랫폼
위챗 개발
{
<code>"filter": { "is_to_all": false, "group_id": 100 }, "msgtype": "mpnews", "mpnews": { "media_id": "hSRQJiYXXfH7lsqUenEjxX3mxYkDJVOPr2r1Amn32eGe-GvCtj-5PG2h5vi8U7uW" }, "article": { "thumb_media_id": "vPkv7wRG38KhZvpKLNHMEANEG_I6pWiUtY7-ljHFGF0MSpD90hBN4TilIsEPMvWK", "title": "测试", "author": "测试", "content": "测试<img src=\"http://www.baidu.com/ceshi/images/bOaaa7Z7IbOb76SW7Qp7K3S73qIP4w.jpg\" width=\"100%\" alt=\"ejQbUvGjyv72EpYJvS8fSiiql7pcogM3DTqyUaY9jnU\"/>", "digest": "digest", "content_source_url": " " }</code>
로그인 후 복사
로그인 후 복사
}
<code>$data = urldecode(json_encode($data));</code>
로그인 후 복사
로그인 후 복사
做了双引号->单引号的转义,发送的data数据包如上,发送后content中的文字能显示图片不能显示,希望大家能给我一点思路,哪里还有问题,谢谢
回复内容:
{
<code>"filter": { "is_to_all": false, "group_id": 100 }, "msgtype": "mpnews", "mpnews": { "media_id": "hSRQJiYXXfH7lsqUenEjxX3mxYkDJVOPr2r1Amn32eGe-GvCtj-5PG2h5vi8U7uW" }, "article": { "thumb_media_id": "vPkv7wRG38KhZvpKLNHMEANEG_I6pWiUtY7-ljHFGF0MSpD90hBN4TilIsEPMvWK", "title": "测试", "author": "测试", "content": "测试<img src=\"http://www.baidu.com/ceshi/images/bOaaa7Z7IbOb76SW7Qp7K3S73qIP4w.jpg\" width=\"100%\" alt=\"ejQbUvGjyv72EpYJvS8fSiiql7pcogM3DTqyUaY9jnU\"/>", "digest": "digest", "content_source_url": " " }</code>
로그인 후 복사
로그인 후 복사
}
<code>$data = urldecode(json_encode($data));</code>
로그인 후 복사
로그인 후 복사
做了双引号->单引号的转义,发送的data数据包如上,发送后content中的文字能显示图片不能显示,希望大家能给我一点思路,哪里还有问题,谢谢
htmlspecialchars_decode($data['article'] ['content'], ENT_QUOTES);
content里面的图片也需要上传到微信服务才能显示出来,可以用正则匹配出来图片,上传一下换取微信的地址。
具体的可以参照下边这个方法
<code>public function upload_weixin_img($content, $res_id) { $img = array(); preg_match_all('\'<img src="/static/imghw/default1.png" data-src="(.*?)" class="lazy" alt="微信群发图文,content中图片显示不出" >]*?>\'', $content, $img); // 如果没有图片信息 直接返回原内容 if (!isset($img[0]) || !$img[0]) { return $content; } // 如果存在图片,取出图片内容,进行上传 $pattern ='<img src="/static/imghw/default1.png" data-src="(.*?)" class="lazy" . alt="微信群发图文,content中图片显示不出" >'; foreach ($img[0] as $k=>$v) { $html = $v; preg_match($pattern, $html, $matches); if ($matches[1]) { //在关联表创建对应关系 $filter = array( 'res_id' => $res_id, 'old_src' => $matches[1] ); $info = _model('material_img_relation')->read($filter); if ($info) { $content = str_replace($matches[1], $info['new_src'], $content); } else { $matche_str = $matches[1]; // 进行图片路径替换 $str = str_replace(SITE_URL.'/static/upload', '', $matches[1]); $str = UPLOAD_PATH.$str; // 上传图片 $url = 'https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token='.$this->access_token; $data = array( 'media' => new CURLFile($str), ); $result = an_curl($url, $data, true); // 替换文件路径,改变原内容 if (isset($result['errcode']) && $result['errcode'] == 40001) { $this->check_app_params(); $url = 'https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token='.$this->access_token; $data = array( 'media' => new CURLFile($str), ); $result = an_curl($url, $data, true); } $new_src = $result['url']; $data = array( 'res_id' => $res_id, 'old_src' => $matche_str, 'new_src' => $new_src ); _model('material_img_relation')->create($data); $content = str_replace($matches[1], $new_src, $content); } } } return $content; }</code>
로그인 후 복사
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

인기 기사
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

인기 기사
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제
Gmail 이메일의 로그인 입구는 어디에 있나요?
7281
9


자바 튜토리얼
1622
14


Cakephp 튜토리얼
1341
46


라라벨 튜토리얼
1258
25


PHP 튜토리얼
1205
29



Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법

Gateio 중국 공식 웹 사이트 Gate.io 거래 플랫폼 웹 사이트
