2017-10-17 6 views
-1

iframe 태그 안에있는 URL의 일부인 ID를 캡처해야합니다. 나는이 정규식으로 수행 할 수 있지만, 나는 몇 가지 시도를했지만 결과를 가져올 수 없습니다 그것을 아주 좋은 아니에요 알고 iframe이이 (ID 변경 가능) 될 것이다 :iframe 태그 내의 URL 부분 선택

<iframe src="https://www.example.com/embed/ph57d6z9fa1349b" frameborder="0" height="481" width="608" scrolling="no"></iframe> 

그리고 내가 좀하고 싶습니다 ID이 될 것이다 :

ph57d6z9fa1349b 
+0

인가? [https://3v4l.org/v01sD](https://3v4l.org/v01sD). xD – FirstOne

답변

1

당신은 수를 닫는 큰 따옴표 마지막 슬래시 때까지 URL 본문과 일치하는 속성의 시작과 일치 문자열을 정규식으로 나눕니다. 당신은 ID 코드를 나열 할 경우

$re = '/\<iframe[^\>]+src\="(.+?)\/([A-Za-z0-9]+)"/'; 
$str = '<iframe src="https://www.example.com/embed/ph57d6z9fa1349b" frameborder="0" height="481" width="608" scrolling="no"></iframe>'; 

preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0); 

// Print the entire match result 
var_dump($matches); 

('ph57d6z9fa1349b'같은) 당신은이 작업을 수행 할 수 있습니다이 과잉이

<?php 
$re = '/\<iframe[^\>]+src\="(.+?)\/([A-Za-z0-9]+)"/'; 
$str = '<iframe src="https://www.example.com/embed/ph57d6z9fa1349b" frameborder="0" height="481" width="608" scrolling="no"></iframe>'; 

preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0); 

foreach ($matches as $match) { 
    $id = $match[2]; // The required id code 
    echo $id;   // Echo it 
} 
?> 
0

이 정규식은 소스 속성과 일치를 그룹 1
src=".+\/(.+?)"

  • 에 desided ID를 넣어 첫 번째 부분 src="
  • .+\/은 (욕심)
  • (.+?)" 일치 아이디 (게으른)와 속성을