2011-03-03 12 views
0

우리는 html 페이지를 가지고 있으며, 많은 코드를 가지고 있습니다.PHP로 html 블록 받기

경우에 따라 블록이 #container 인 경우가 있습니다.

이 페이지의 코드는 모두 $page입니다.

  1. 확인,이 id="container"와 블록 :

    은 어떻게합니까?

  2. html 페이지의 내부에 #container이 있으면이 블록의 내용을 가져 와서 $container 변수에 씁니다.

작업은 php로 수행되어야합니다.

+4

의 많음이있다 [HTML 파서 (http://stackoverflow.com/questions/292926/robust-mature-html-parser-for-php) PHP를 위해 . – NullUserException

+0

@ NullUserException 그들은 지옥처럼 느립니다. id가 한 번만 사용될 수 있다고 가정하면 정규 표현식을 사용하여'id = "container"를 확인한 다음 필요한 경우 파서를 실행하는 성능이 저하됩니다. – Endophage

답변

5

문제를 해결할 수있는 방법 중 하나는 타사 라이브러리를 사용하는 것입니다. http://simplehtmldom.sourceforge.net/ :

$html->load($page); 
if ($html->find('#container')) $container = $html->find('#container'); 
-2

Regexp가 여기에 있습니다.

당신의 HTML 구문 분석의 즐거운 여행을위한

행운

+0

Regex는 HTML 구문 분석을위한 끔찍한 솔루션입니다. –

관련 문제