Html 如何在DOMNode上执行XPath查询并转换为txt?

Html 如何在DOMNode上执行XPath查询并转换为txt?,html,file,xpath,Html,File,Xpath,我需要使用xpath查询提取和元素内容,并清理其中的html,将其转换为txt文件 资料来源如下: <div class="blog-content"> <div id="div-gpt-ad-1460730703306-0"> <script type="text/javascript" src="https://www.googletagservices.com/tag/js/gpt.js">googletag.defineSlot('/134284252

我需要使用xpath查询提取

元素内容,并清理其中的html,将其转换为txt文件

资料来源如下:

<div class="blog-content">
<div id="div-gpt-ad-1460730703306-0">
<script type="text/javascript" src="https://www.googletagservices.com/tag/js/gpt.js">googletag.defineSlot('/134284252/corsoitalia-728x90', [[728, 90], [300, 250]], 'div-gpt-ad-1460730703306-0').addService(googletag.pubads()).setTargeting(); googletag.pubads().enableSyncRendering();googletag.enableServices();googletag.display('div-gpt-ad-1460730703306-0');</script>
</div>
<p class="no-break">
<span st_url='http://www.corsoitalianews.it/70211-2-mauro-marsu-150317/' st_title='Mauro Marsu presenta Prima dell&#8217;alba al Marianiello il 24 marzo' class='st_facebook_hcount'></span>
<span st_url='http://www.corsoitalianews.it/70211-2-mauro-marsu-150317/' st_title='Mauro Marsu presenta Prima dell&#8217;alba al Marianiello il 24 marzo' class='st_fblike_hcount'></span>
<span st_username='corsoitalianews' st_url='http://www.corsoitalianews.it/70211-2-mauro-marsu-150317/' st_title='Mauro Marsu presenta Prima dell&#8217;alba al Marianiello il 24 marzo' class='st_twitter_hcount'></span>
<span st_url='http://www.corsoitalianews.it/70211-2-mauro-marsu-150317/' st_title='Mauro Marsu presenta Prima dell&#8217;alba al Marianiello il 24 marzo' class='st_googleplus_hcount'></span>
<span st_url='http://www.corsoitalianews.it/70211-2-mauro-marsu-150317/' st_title='Mauro Marsu presenta Prima dell&#8217;alba al Marianiello il 24 marzo' class='st_pinterest_hcount'></span>
<span st_url='http://www.corsoitalianews.it/70211-2-mauro-marsu-150317/' st_title='Mauro Marsu presenta Prima dell&#8217;alba al Marianiello il 24 marzo' class='st_linkedin_hcount'></span></p>
<h2 style="text-align: justify;">Venerdì 24 marzo dalle ore <span title="9:30 nel tuo fuso orario">22:30 presso il Gran Caffè Marianiello di Piano di Sorrento Mauro Marsu presenterà il suo ultimo disco: Prima dell&#8217;alba</span></h2>
<p style="text-align: justify;"><img class="alignleft wp-image-70212" src="http://corsoitalia.pierodecindioweb.netdna-cdn.com/wp-content/uploads/2017/03/17155296_1845309335727349_720535044501942857_n-213x300.jpg" width="400" height="563" srcset="http://corsoitalia.pierodecindioweb.netdna-cdn.com/wp-content/uploads/2017/03/17155296_1845309335727349_720535044501942857_n-213x300.jpg 213w, http://corsoitalia.pierodecindioweb.netdna-cdn.com/wp-content/uploads/2017/03/17155296_1845309335727349_720535044501942857_n.jpg 682w" sizes="(max-width: 400px) 100vw, 400px" />Il prossimo venerdì 24 marzo, presso il Gran Caffè Marianiello di Piano di Sorrento (piazza Cota), si terrà il concerto di presentazione del nuovo disco di <strong>Mauro Marsu</strong>, Prima dell&#8217;alba, disponibile su tutti gli stores digitali e in copia fisica:<br />
<a href="https://www.facebook.com/marsumc" data-hovercard="/ajax/hovercard/user.php?id=1592735873&amp;extragetparams=%7B%22directed_target_id%22%3A1218425214941997%7D" data-hovercard-prefer-more-content-show="1">Mauro Marsu</a> &#8211; voce/voce narrante<br />
<a href="https://www.facebook.com/djspidermusic" data-hovercard="/ajax/hovercard/user.php?id=1541390147&amp;extragetparams=%7B%22directed_target_id%22%3A1218425214941997%7D" data-hovercard-prefer-more-content-show="1">Roberto DjSpider Ciuoffo</a> &#8211; giradischi</p>
<p style="text-align: justify;"><strong>Special guests:</strong><br />
<a href="https://www.facebook.com/KatiaDeMartino" data-hovercard="/ajax/hovercard/user.php?id=687303064&amp;extragetparams=%7B%22directed_target_id%22%3A1218425214941997%7D" data-hovercard-prefer-more-content-show="1">Katia De Martino</a><br />
<a href="https://www.facebook.com/djneno81" data-hovercard="/ajax/hovercard/user.php?id=585460485&amp;extragetparams=%7B%22directed_target_id%22%3A1218425214941997%7D" data-hovercard-prefer-more-content-show="1">Tonino Aprea</a> a.k.a. DJ Neno<br />
<a href="https://www.facebook.com/antonino.staiano.92" data-hovercard="/ajax/hovercard/user.php?id=1108264920&amp;extragetparams=%7B%22directed_target_id%22%3A1218425214941997%7D" data-hovercard-prefer-more-content-show="1">Antonino Staiano</a><br />
<a href="https://www.facebook.com/luigi.apredamollo" data-hovercard="/ajax/hovercard/user.php?id=1654098883&amp;extragetparams=%7B%22directed_target_id%22%3A1218425214941997%7D" data-hovercard-prefer-more-content-show="1">Luigi Apreda Mollo</a> a.k.a. <a href="https://www.facebook.com/DiamondLouisElite/" data-hovercard="/ajax/hovercard/page.php?id=1259307280770798&amp;extragetparams=%7B%22directed_target_id%22%3A1218425214941997%7D" data-hovercard-prefer-more-content-show="1">Diamond Louis</a><br />
<a href="https://www.facebook.com/cristian.izzo.3" data-hovercard="/ajax/hovercard/user.php?id=1648668678&amp;extragetparams=%7B%22directed_target_id%22%3A1218425214941997%7D" data-hovercard-prefer-more-content-show="1">Cristian Izzo</a><span class="text_exposed_show"><br />
<a href="https://www.facebook.com/zorama.official/" data-hovercard="/ajax/hovercard/page.php?id=185577451465151&amp;extragetparams=%7B%22directed_target_id%22%3A1218425214941997%7D" data-hovercard-prefer-more-content-show="1">Zorama</a></span></p>
<p style="text-align: justify;">Il disco ha un concept particolare e racconta la storia di una notte e dei suoi abitanti, dei suoi attori più o meno protagonisti. È la storia di chi lavora di notte o di chi la vive per divertimento. È un’umana commedia che terminerà al forno di Aniello. Un barbone e una prostituta a far da Angelo e Dea, una casellante, Ada, a far da apripista per l’”ade notturno. Una coppia di innamorati in cerca di amore, un bambino in cerca della tranquillità per riposare, rassicurato dal lampeggiante di un vigilante. Un barista amico di tutti, uno spacciatore, dei ragazzi impegnati in una campagna elettorale che si confronteranno con un’aspirante giornalista, che di fatto, i giornali li consegna. Una tassista che scarrozza persone e ne immagina a sua volta le storie. Un portiere d’albergo che ama i cruciverba, uno spazzino amante del jazz a cui toccherà “ripulire il palco in cui questa notte è andata in scena con i suoi protagonisti e le sue comparse.</p>
<p style="text-align: justify;"><span class="text_exposed_show"><strong>Un viaggio lungo una notte, tra fantasia e realtà, che vanno ad intrecciarsi&#8230; prima dell’alba. </strong></span></p>
<p style="text-align: justify;"><strong>Tante le collaborazioni:</strong><br />
</div>

谢谢

我对
PHP
几乎没有经验,所以我不确定语法是否100%正确。。。请尝试以下代码,如果这不是您想要的,请告诉我:

$divs = $x_path->query( '//div[@class="blog-content"]' );
foreach( $divs as $div ){
    $headers=$x_path->query( './h2', $div );
    echo $headers->item(0)->nodeValue, PHP_EOL;
    $paragraphs=$x_path->query( './p', $div );
    foreach( $paragraphs as $p ){
        echo $p->nodeValue, PHP_EOL;
    }
}

您的意思是只需要来自
h2
p
标记的文本内容,还是不带属性或子节点的那些元素的
outerHTML
?什么是
和清理
中的html?亲爱的@Andersson我只需要提取div中的文本。h2标记是标题,每个p标记是内容消息。里面的p标签有很多html。我需要清除所有插入到一个文本文件Ex:Title(来自h2标签)文本(来自每个p标签的内容)谢谢
$divs = $x_path->query( '//div[@class="blog-content"]' );
foreach( $divs as $div ){
    $headers=$x_path->query( './h2', $div );
    echo $headers->item(0)->nodeValue, PHP_EOL;
    $paragraphs=$x_path->query( './p', $div );
    foreach( $paragraphs as $p ){
        echo $p->nodeValue, PHP_EOL;
    }
}