다음 정규 표현식은 모든 이미지 src를 가져 오지만 시작 부분에 src="
및 경로 끝에 "
으로 표시됩니다.간단한 preg_match 질문
어떻게 제거하고 경로 만 표시 할 수 있습니까?
preg_match('/src="(.*?)"/i' , $content1 , $matches);
다음 정규 표현식은 모든 이미지 src를 가져 오지만 시작 부분에 src="
및 경로 끝에 "
으로 표시됩니다.간단한 preg_match 질문
어떻게 제거하고 경로 만 표시 할 수 있습니까?
preg_match('/src="(.*?)"/i' , $content1 , $matches);
코드 :
$re = '/(?<=src=")(?:.*?)(?=")/ui';
$txt = '<img src="http://www.gravatar.com/avatar/6f5de9?s=32&d=identicon&r=PG" height="32" width="32" alt="">';
$nMatches = preg_match($re, $txt, $aMatches);
출력 :
Array
(
[0] => http://www.gravatar.com/avatar/6f5de9?s=32&d=identicon&r=PG
)
거의 제대로하고 있습니다. 정규 표현식은 정확하지만 :
echo $matches[1];
이 출력 할 최초 포착 서브 패턴. 첫 번째 일치 ($matches[0]
)에는 일치 한 전체 텍스트 (항상 src=""
비트 포함)가 포함됩니다.
$ 매치는 첫 번째 요소에 전체 일치 패턴을 포함하고 각 하위 패턴에 대해 요소를 포함합니다. 이 경우 원하는 물건에 대해 $ matches [1]을 원합니다.
그냥 에코'$ 일치 [1]' – Starx