-1

わかっています、わかっています... 正規表現は HTML テキストを抽出する最良の方法ではありません。しかし、多くのページから記事のテキストを抽出する必要があるため、各 Web サイトのデータベースに正規表現を保存できます。XML パーサーが複数の Web サイトでどのように機能するかはわかりません。Web サイトごとに個別の関数が必要です。

いずれにせよ、私は正規表現についてあまり知らないので、ご容赦ください。

これに似た形式のHTMLページがあります

<html>
<head>...</head>
<body>
    <div class=nav>...</div><p id="someshit" />
    <div class=body>....</div>
    <div class=footer>...</div>
</body>

body クラス コンテナーの内容を抽出する必要があります。

私はこれを試しました。

$pattern = "/<div class=\"body\">\(.*?\)<\/div>/sui"
$text = $htmlPageAsIs;
if (preg_match($pattern, $text, $matches))
    echo "MATCHED!";
else
    echo "Sorry gambooka, but your text is in another castle.";

私は何を間違っていますか?私のテキストは別の城で終わります。

*編集: うーん...気にしないで、読みやすさのコードを見つけました

4

1 に答える 1

0

class="body"あなたのドキュメントに一致していますclass=body: 引用符がありません。を使用し"/<div class=\"?body\"?>(.*?)<\/div>/sui"ます。

于 2010-05-12T12:10:12.837 に答える