2017-05-09 27 views
-1

如何使用file_get_contents php [使用PHP]刪除ID中的所有數據?如何在使用file_get_contents php php [使用PHP]後刪除ID中的所有數據?

我想刪除裏面的div id="one"

這是編碼上的所有數據https://www.example.com

<div id="main"> 
    <div id="inner"> 
     <div id="one"> 
      <div> 
       HELLO 
      </div> 
      HELLO 
     </div> 
     <div id="two"> 
      TEST 
     </div> 
    </div> 
</div> 

<?PHP 
$home_page = file_get_contents("https://www.example.com"); 
echo $home_page; 
?> 

完成後我想這樣

<div id="main"> 
    <div id="inner"> 
     <div id="two"> 
      TEST 
     </div> 
    </div> 
</div> 

我該怎麼辦的數據?

最好的問候, 蒙空剔牙

+0

這種DOM操作? – RamRaider

+0

- RamRaider,只有PHP sir –

+0

它會永遠是一個div去除? –

回答

0

編輯:Readed你想要一個簡單的PHP解決方案,SRY這是一個JS的解決方案。

echo '<script type="text/javascript">', 
    'var elem = document.getElementById("one"); elem.remove();', 
    '</script>' 

只需在您的file_get_contents腳本後通過echo調用php。我把它寫在純JS,如果它不工作,使用舊版瀏覽器使用茜:

echo '<script type="text/javascript">', 
     'var elem = document.getElementById("one"); elem.parentNode.removeChild(elem); 
     '</script> 

如果你使用jQueryü也可以只使用功能的一個.remove();

+0

我必須使用PHP sir –

+0

然後你必須使用PHP中的DOMElement類,以前從未見過使用它。使用loadHTML()而不是file_get_contents,並遵循php文檔。它的相當不錯的描述。 – Doomenik

0

爲了完成只使用你需要使用output buffering PHP和DOMDocument

<?php 
    ob_start(); /* tell php to buffer the output */ 
?> 

<!-- typical html page - there MUST be a doctype though!--> 
<!-- 
<!doctype html> 
<html> 
    <head> 
     <title>Output buffer test</title> 
    </head> 
    <body> 
     <div id='main'> 
      <div id='inner'> 
       <div id='one'> 
        <div> 
         Hello World 
        </div> 
        hello 
       </div> 
       <div id='two'> 
        Goodbye Cruel World 
       </div> 
      </div> 
     </div> 
    </body> 
</html> 
--> 

<?php 
    echo file_get_contents('http://www.example.com'); 
?> 


<!-- manipulate the DOM using PHP only --> 
<?php 
    libxml_use_internal_errors(true); 

    /* read the currently stored buffer and load into DOMDocument */ 
    [email protected]_get_contents(); 
    $dom=new DOMDocument; 
    $dom->loadHTML($buffer); 
    libxml_clear_errors(); 

    /* Find the DOM element you wish to remove */ 
    $div=$dom->getElementById('one'); 
    $div->parentNode->removeChild($div); 

    /* Save the current DOM and flush the buffer */ 
    $buffer=$dom->saveHTML(); 
    @ob_end_clean(); 

    echo $buffer; 

    if(@ob_get_level() > 0) { 
     for($i=0; $i < ob_get_level(); $i++) @ob_flush(); 
     @ob_end_flush(); 
    } 
    $dom=null; 
?> 
要做到這一點使用JavaScript或PHP只
+0

我可以使用'file_get_contents' PHP嗎?你可以給我一些代碼^ _^ –

+0

我不知道你想在哪裏或如何使用'file_get_contents' – RamRaider

+0

不工作先生。 –