시도를 변화, 곧 두 가지 문제가있다. 그러나 더러운 정규 표현식으로이 작업을 실제로 수행하려는 경우 수행 할 수 있습니다. 당신은 그것에 의지해서는 안됩니다. 가장 간단한 정규식 뭔가 같다 :
이
preg_match_all(
"/<td class=bilgi_satir width=\"..%\"><b>(.*)<\/b>/i",
$your_html_here, $m
);
이것은 당신이 print_r($m[1]);
으로 원하는 것을 대략 반환이 함께 할 수
Array (
[0] => (PLACE I WANT TO FETCH 1)
[1] => (PLACE I WANT TO FETCH 2)
[2] => (PLACE I WANT TO FETCH 3)
)
가장 좋은 방법은 (I는 1, 2, 3 떨어져 '그들에게 추가) DOM 파싱.
$doc = new DOMDocument();
$doc->loadHTML($your_html_here);
$x = new DOMXPath($doc);
$results = $x->query("//td[@class='bilgi_satir']//b");
# $results->length now shows 3
$ret = array();
foreach($results as $count => $result) {
printf("item # %s = %s\n", $count, $result->nodeValue); # debug only
$ret[] = $result->nodeValue;
}
이 뜻을 표시 :
item # 0 = (PLACE I WANT TO FETCH 1)
item # 1 = (PLACE I WANT TO FETCH 2)
item # 2 = (PLACE I WANT TO FETCH 3)
편집 : 예를 들어 분명히 배열에 노드 값을 덤핑하는 것은 당신이 원하는대로, 당신은 배열을 통해 액세스 할 수 있습니다.
HTML 파서를 사용하십시오. – nickb
@nick 나는 PHP에서 정말로 멍청하다. 예제를 보낼 수 있습니까? – 1342
** 정규 표현식을 사용하여 HTML을 구문 분석하지 마십시오 **. 정규식으로 HTML을 안정적으로 구문 분석 할 수는 없으며 슬픔과 좌절을 당할 것입니다. HTML이 예상과 다르게 변경되면 코드가 손상됩니다. 이미 작성, 테스트 및 디버깅 된 PHP 모듈을 사용하여 HTML을 올바르게 구문 분석하는 방법에 대한 예제는 http://htmlparsing.com/php를 참조하십시오. –