保留新行,当 HTML 位于 1 行并且新行布局使用
完成时

发布于 2024-10-20 06:47:00 字数 793 浏览 1 评论 0原文

网站获取内容

我需要从我需要获取的

/html/body/div/div[2]/table/tbody/tr/td/div/div[2]/form/fieldset[2]/table[2]

,或者

<table class='properties'>

可以在此处查看代码: http:// /paste.pocoo.org/show/347881/

内容,所有内容仅在新行上格式化。 我不关心填充和其他格式,我只想保留新行。

例如,正确的输出将是

tájékoztató
az eljárás eredményéről
A Közbeszerzések Tanácsa (Szerkesztőbizottsága) tölti ki
A hirdetmény kézhezvételének dátuma____________________
KÉ nyilvántartási szám_________________________________
I. SZAKASZ: AJÁNLATKÉRŐ
I.1) Név, cím és kapcsolattartási pont(ok) 

我面临的问题是新行是与 div 一起引入的并且无法获取它。

更新

这由 PHP cron 执行,因此无法访问 JS。

I need to get content from a site

I need to get

/html/body/div/div[2]/table/tbody/tr/td/div/div[2]/form/fieldset[2]/table[2]

or

<table class='properties'>

For which the code is visible here: http://paste.pocoo.org/show/347881/

contents with all the content formatted just on new lines.
I don't care about paddings, and other formatting, I just want to keep the new lines.

For example a proper output would be

tájékoztató
az eljárás eredményéről
A Közbeszerzések Tanácsa (Szerkesztőbizottsága) tölti ki
A hirdetmény kézhezvételének dátuma____________________
KÉ nyilvántartási szám_________________________________
I. SZAKASZ: AJÁNLATKÉRŐ
I.1) Név, cím és kapcsolattartási pont(ok) 

The problem I face that the new lines are introduced with the div's and cannot get it.

Update

This be executed by a PHP cron, so there is no access to JS.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

想挽留 2024-10-27 06:47:00

有一个名为 phpQuery 的库:http://code.google.com/ p/phpquery/

您可以像使用 jQuery 一样遍历 DOM 对象:

phpQuery::newDocument($htmlCode)->find('table.properties');

在 mached 元素的内容上触发 strip_tags,您将获得该表的纯内容。

There is a library called phpQuery: http://code.google.com/p/phpquery/

You can walk through DOM object like with jQuery:

phpQuery::newDocument($htmlCode)->find('table.properties');

On a mached element's content fire strip_tags and you will get pure content of that table.

老旧海报 2024-10-27 06:47:00

技巧是在 xpath 表达式中获取内部 div,然后使用它们的 textContent 属性:

<?php

$domd = new DOMDocument();
libxml_use_internal_errors(true);
$domd->loadHTML(file_get_contents("..."));
libxml_use_internal_errors(false);

$domx = new DOMXPath($domd);
$items = $domx->query("/html/body/div/div[2]/table/tr/td/div/div[2]/form/fieldset[2]/table[2]/tr/td/div//div/div[@style='padding-left: 0px;']");

$output = "";
foreach ($items as $item) {
  $output .= $item->textContent . "\n";
}

echo $output;

The trick is to fetch the inner divs in an xpath expression, then use their textContent property:

<?php

$domd = new DOMDocument();
libxml_use_internal_errors(true);
$domd->loadHTML(file_get_contents("..."));
libxml_use_internal_errors(false);

$domx = new DOMXPath($domd);
$items = $domx->query("/html/body/div/div[2]/table/tr/td/div/div[2]/form/fieldset[2]/table[2]/tr/td/div//div/div[@style='padding-left: 0px;']");

$output = "";
foreach ($items as $item) {
  $output .= $item->textContent . "\n";
}

echo $output;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文