2012-11-13 2 views
2

간단한 HTML PHP DOM PARSER (simplehtmldom.sourceforge.net)를 사용하여 가져온 콘텐츠의 모든 날짜를 공백으로 대체하고 싶습니다.
필터링 날짜 PHP DOM

include("simple_html_php_dom.php"); 
$html = file_get_html("http://freebacklinks.prijm.com"); //example.com 
$result = "$html"; 
$result = preg_replace("/([1-9]|[0-2][0-9]|3[0-1]) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4}/", " ", $result); 
$result = preg_replace("/(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ([1-9]|[0-2][0-9]|3[0-1]) [0-9]{4}/", " ", $result); 
echo $result; 

, 그래서 여기에 모든 날짜 데이터 등 : 여기에 코드입니다 01 Jan 2004 또는 Jan 01 2004 또는 Dec 12 14은 공백으로 교체해야합니다 ...하지만 그 무엇을 할 지금 .. 공간이 그 날짜를 교체하지? 여기
는 예 .. 그것이 작동하는 방법
http://codepad.org/lAuHW565을 보여주는 그런데 왜 당신은 불가능한 SimpleHTML 객체를 대체하기 위해 노력하고 PHP Simple HTML DOM Parser

+0

DOM에 대한 참조와 정말 혼동 스럽습니다. 평범한 문자열로 작업하는 것 같습니다. '$ result'는 어떻게 생겼습니까? –

+0

@ ÁlvaroG.Vicario 페이지에서 전체 내용을 가져옵니다 .. –

+0

다음은 작동 방식을 보여주는 예입니다. http://codepad.org/lAuHW565 –

답변

2

에서 작동하지 않는 그 (이 객체가 아닌 문자열입니다). 먼저 HTML을 가져온 다음 바꾸고 함수를 사용하여 SimpleHTML으로 바꿔야합니다.

<?php 
    include("simple_html_php_dom.php"); 

    //Start with getting the pure HTML and replacing in that (don't use SimpleHTMLPHP for this) 
    $html = file_get_contents("http://freebacklinks.prijm.com"); //example.com 
    $html= preg_replace("/([1-9]|[0-2][0-9]|3[0-1])\s+(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+[0-9]{4}/", " ", $html); 
    $html = preg_replace("/(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+([1-9]|[0-2][0-9]|3[0-1])\s+[0-9]{4}/", " ", $html); 

    //Now create the $result variable: 
    $result = str_get_html($html); 
    echo $result; 
?> 
+0

@MaxMuller 예 - 내 실수 - 읽었습니다. 'file_get_html'인데도 'file_get_contents'로 표시됩니다. 문제를 반영하도록 코드를 변경했습니다. – h2ooooooo

+0

왜 작동하지 않는지 이해할 수 없습니다. ( –

+0

@MaxMuller OP를 수정하고 새 코드를 추가하십시오. – h2ooooooo