>백엔드 개발 >PHP 튜토리얼 >str_replace와 결합된 php preg_match_all은 콘텐츠의 모든 img를 대체합니다.

str_replace와 결합된 php preg_match_all은 콘텐츠의 모든 img를 대체합니다.

高洛峰
高洛峰원래의
2017-01-09 09:59:092192검색

수집된 이미지 img 태그에는 자바스크립트 스크립트와 쓸모없는 정보가 많이 있습니다. alt 등 원하는 내용을 교체해야 합니다. 먼저 필터링할 내용을 보고 무심코 복사했습니다:

sdfsdfsdf<img alt=”3568df.com靓图” src=”http://www.aaa.com/upimg /080330/120D1232295023X0.gif” src=”http://www.eee.com/upimg/080330 /120D1232295023X0.gif” width=1 onclick=”javascript:; ” onload=”javascript:if(this.width>500){this.resized=true; this.style.width=500;}”>sfsdfsdfasdfsadf<img alt=”3568df.com靓图 ” src=”http://www.3568.com/upimg/080330 /120D1232295023X0.gif” src=”http://www.ddd.com/upimg/080330 /120D1232295023X0.gif” width=1 onclick=”javascript:; ” onload=”javascript:if(this.width>500){this.resized=true; this.style.width=500;}”>sdfsadf<img alt=”3568df.com靓图 ” src=”http://www.xxx.com/upimg/080330/120D1232295023X0.gif” src=”http://www.sss.com/upimg/080330/120D1232295023X0.gif” width=1 onclick=”javascript:;” onload=”javascript:if(this.width>500){this.resized=true;this.style.width=500;}”>sdfsdf

위 내용을 형식으로 바꾸려면:

<img alt=”我的信息” src=”http://www.xxx.com/upimg /080330/120D1232295023X0.gif” src=”http://www.xxx.com/upimg/080330 /120D1232295023X0.gif” /> 其中src=”http://www.xxx.com/upimg/080330 /120D1232295023X0.gif” src=”http://www.xxx.com/upimg/080330 /120D1232295023X0.gif”这个地址要保留,因为图片用的都是源地址

방법은 대략: 먼저 IMG를 모두 읽습니다. 콘텐츠 태그에서 각 IMG 태그의 SRC를 추출하고 이를 자체 콘텐츠로 결합한 다음 마지막으로 교체합니다.
preg_match_all은 제가 원하는 함수입니다. 정규 표현식과 일치하는 3차원 콘텐츠 배열을 만들 수 있습니다. 이에 대해 잘 모르시면 매뉴얼을 확인하세요. 여기서는 자세히 소개하지 않겠습니다. 함수 코드:

function replace($str) 
{ 
preg_match_all(”/<img(.*)(src=\”[^\"]+\”)[^>]+>/isU”, $str, $arr); 
for($i=0,$j=count($arr[0]);$i<$j;$i++){ 
$str = str_replace($arr[0][$i],”<img alt=\”我的信息” “.$arr[2][$i].” />”,$str); 
} 
return $str; 
}

콘텐츠의 모든 img 관련 기사를 대체하기 위해 str_replace와 결합된 더 많은 PHP preg_match_all을 보려면 PHP 중국어 웹사이트에 주목하세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.