2009-08-12 8 views
5

要素のタグ間で内容を一致させるために、PHPの正規表現が必要です。 <body>および</body> perl互換性preg_matchです。PHPのHTML本文の内容と一致する正規表現

は、これまで私が試した:

// $content is a string with html content 

preg_match("/<body(.|\r\n)*\/body>/", $content, $matches); 

print_r($matches); 

...しかし、プリントアウトは空の配列です。ドキュメントで説明し

preg_match("/<body.*\/body>/s", $content, $matches); 

答えて

0

デフォルト一行によるPerlの正規表現のマッチ

最後に/を追加して複数行の検索を行うように指定する必要があります。/

例:

$> perl -e 'print $1 if "bla\nbla\n<body>\nfirst line\n second line\n</body>\nbla" =~ /^.*<body>(.*)<\/body>.*$/s' 

参照: http://www.perl.com/pub/a/2003/06/06/regexps.html

+0

-mフラグを設定するだけでは不十分です。これは、^および$演算子の動作を変更するためです。 – Wookai

関連する問題