HTML안의 href와 src의 주소만 빼내는 정규식

$pattern ='/(src=|href=)(\'|\")?([^<>\s\'\"]*)(\'|\"|\s|)/i';

preg_match_all( $pattern, $subject, $matches );

print_r($matches[3])


$str = HTML 내용
$url = HTML의 url;

function get_link_files($url,$str){
 $url_arr = parse_url($url);
 $domain = $url_arr['scheme'].'://'.$url_arr['host'];
 if($url{strlen($url)-1}!='/'){
   $path = $domain.$url_arr['path'];
 }
 else{ $path = $url; }
 $pattern ='/(src=|href=)(\'|\")?([^<>\s\'\"]*)(\'|\"|\s|)/i';
 $subject =&$str;
 $matches = array();
 preg_match_all( $pattern, $subject, $matches );

 $r_arr = array();
 $r = $matches[3];
 $r2 = array();
 unset($matches);//삭제
 for($i =0,$m=count($r);$i<$m;$i++){ //경로 재계산
  if($r[$i]{0}=='/'){
   $r2[] = $domain.$r[$i];
  }else if($r[$i]{1}=='/'){
   $r2[] = $path.$r[$i];
  }else if(strpos($r[$i],'http://')===0){
   $r2[] = $r[$i];
  }
 }

 print_r($r2);
 
}

 

댓글
  • No Nickname
    No Comment
  • 권한이 없습니다.
    {{m_row.m_nick}}
    -
목록형 📷 갤러리형
제목
[기본형] HTML (with 부트스트랩5.3 , jquery 3.7, vue.js)
유용한 리눅스(LINUX) 명령어
[공지] 기술 게시판
4.28
4.29
4.30
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.11
5.12
5.13
5.14
5.15
5.16
5.17
5.18
5.19
5.20
5.21
5.22
5.23
5.24
5.25
5.26
5.27
5.28
5.29
5.30
5.31
6.1