English 中文(简体)
PHP中的超文本评论报废
原标题:HTML comment scraping in PHP
  • 时间:2009-08-26 05:55:23
  •  标签:

我一直在研究,但还没有找到解决办法。 我试图废除一份超文本文件,在两个评论意见之间找到案文,但迄今为止未能成功这样做。

我用PHP,并多次尝试PHP简单的DOM parser,在这里建议,但似乎不能让它做我想要的事情。

在此(部分)中,我要说:

<div class="class">
  <!-- blah -->
    text
  <!-- end blah -->

  Text I want

  <!-- blah -->
    text
  <!-- end blah -->
</div>

增 编

最佳回答

假设每项评论有所不同(即“blah”在第一和第二节中并不相同),你可以使用一些简单的strpos,在它们之间 everything取一切。 Regular expression is not necessary.

$startStr =  <!-- end blah1 --> ;
$endStr =  <!-- start blah2 --> ;

$startPos = strpos($HTML, $startStr) + strlen($startStr);
$endPos = strpos($HTML, $endStr );

$textYouWant = substr($HTML, $startPos, $endPos-$startPos);

如果两套评论are 同样,你需要加以修改,以找到第二个“blah”,使用strpos soffset。 参数

问题回答

你们是否可以使用定期表达方式?

$text =  
<div class="class">
  <!-- blah -->
    text
  <!-- end blah -->

  Text I want

  <!-- blah -->
    text
  <!-- end blah -->
</div>
 ;

$regex =  /(<!-- end blah -->)(.*?)(<!-- blah -->)/ims ;
$match = preg_match_all ($regex, $text, $matches);




相关问题
热门标签