質問

私は周りを探したが解決策を見つけるためにまだ持ってきました。私は、HTMLドキュメントをこすりと2つのコメントの間のテキストは、しかし、これまでのところ成功し、これを行うことができなかった取得しようとしている。

私はPHPを使用していますし、ここで推奨PHPシンプルなDOMパーサを何度も試みたが、それは私がやりたいように見えることはできません。

ここ(の一部)私が解析したいページです

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

  Text I want

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

おかげ

役に立ちましたか?

解決

(すなわち、「何とか」第1および第2のセクションでは同じではありません)各コメントが異なっていると仮定すると、あなたはそれらの間のすべてをつかむためにいくつかの簡単なstrposを使用することができます。 の正規表現は必要ありません。

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

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

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

コメント2組のをした場合です。が同じで、あなたがstrposoffsetパラメータを使用して、第二の「何とか」を見つけるために、これを変更する必要があります。

他のヒント

たぶん、あなたは正規表現を使用することができますか?

$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);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top