그래서, 나는 기본적으로 내부에 아무것도 일치하려고 (포함) 개체 태그를이 함께 해요 :preg_match_all : 왜 "this"가 일치하지만 "that"은 일치하지 않습니까?
<?php preg_match_all('/<object(.*)<\/object>/', $blah, $blahBlah); ?>
그것은 이것에 대한 일치 찾습니다
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="250" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=9048799&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=&fullscreen=1" /><embed type="application/x-shockwave-flash" width="400" height="250" src="http://vimeo.com/moogaloop.swf?clip_id=9048799&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=&fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object>
을하지만 일치하지 않습니다 이 :
<object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=5630744&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=00ADEF&fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=5630744&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=00ADEF&fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object>
왜 그런가? 어떤 통찰력에도 감사드립니다.
ETA : 내 접근 방식이 처음부터 잘못되어있을 수 있으므로 여기에 몇 가지 배경이 있습니다.
이것은 Wordpress 사이트 용입니다. shorttag를 전체 비디오 소스 코드로 변환하는 플러그인을 사용하고 있습니다. 플러그인은 최근 (고맙게도) 코드가 더 유효하도록 업데이트되었습니다.
내가 만들려고하는 기능은 단순히 게시물의 첫 번째 비디오 개체를 찾고 사이트의 다른 곳에서 사용하기 위해 붙잡는 것입니다. 여러 라인 대 싱글 마음에 오는
<?php
function catch_that_video() {
global $post, $posts;
$the_video = '';
ob_start();
ob_end_clean();
$output = preg_match_all('/<object(.*)<\/object>/', $post->post_content, $vid_matches);
$the_video = $vid_matches [1] [0];
if(empty($the_video)){ $the_video = 0; }
return $the_video;
}
?>
둘 다 나와 일치하는 것처럼 보입니다. 어쩌면 정규 표현식에's' 플래그를 추가해보십시오. 나는 http://gskinner.com/RegExr/ 테스팅/디버깅을 위해 훌륭하다고 생각한다. –
정규 표현식으로 HTML을 구문 분석하려고하는 이유는 무엇입니까? – HoLyVieR
HTML 파서를 사용하십시오. 왜? 문자열 ""을 고려하십시오. – Schwern