0

重複の可能性:
PHPでタグコンテンツを取得する際の正規表現のヘルプ

最初は、正規表現を使用したhtmlの解析についてコメントしないでください。私はそれが不可能であることを知っていますが、この場合それはその仕事をするべきです。

<country lan="x">...</country>タグの内容を取得しようとしています。のような特別なケースはなく<country />、多くの特別な文字(MediaWikiテキスト)を含むタグのコンテンツが原因でPHPDOMパーサーが失敗します。

だから私は次のようなテキストを持っています

    <country lan="en">


    dsadasd


    {|,'''""" }}|]][][]//\\\\\2r2erfaf<>><<<#<div> --..,;;"!"§$%&/()=?`´´``***+~~~''

    0131ß

    ÄÜÖ#ax
    </country>

現時点での私の解決策は$pattern = <country lan=\"en\">(.|\t|\r|\n|\s)*<\/country>

preg_match_all($pattern, $content, $matches);
print_r($matches);

しかし、印刷された結果は単なる空の配列です。<country lan="x">...</country>タグ間の文字列のみを抽出するにはどうすればよいですか?

4

1 に答える 1

1

これを使って

preg_match_all('/<country.*?>(.*?)<\/country>/s', $contents,$hits);
print_r($hits);
于 2012-11-23T09:50:02.850 に答える