たとえば、次のように機能します。
{<div\s+class=\"article\"><h2(.*)</div>}s
このようにすると、何も得られません。
{<div\s+class=\"article\">
<h2(.*)
</div>}s
私はいくつかの修飾子を使用する必要があると思いますが、ここからどれを知っていますか: http://php.net/manual/en/reference.pcre.pattern.modifiers.php
たとえば、次のように機能します。
{<div\s+class=\"article\"><h2(.*)</div>}s
このようにすると、何も得られません。
{<div\s+class=\"article\">
<h2(.*)
</div>}s
私はいくつかの修飾子を使用する必要があると思いますが、ここからどれを知っていますか: http://php.net/manual/en/reference.pcre.pattern.modifiers.php
それは/x
修飾子になります:
x (PCRE_EXTENDED)
この修飾子が設定されている場合、パターン内の空白データ文字は、エスケープされているか文字クラス内にある場合を除いて完全に無視され、文字クラス外のエスケープされていない # と次の改行文字の間の文字も無視されます。これは Perl の /x 修飾子に相当し、複雑なパターン内にコメントを含めることができます。ただし、これはデータ文字にのみ適用されることに注意してください。空白文字は、パターン内の特殊文字シーケンス内 (たとえば、条件付きサブパターンを導入するシーケンス (?() 内など) 内に出現することはありません。
また、パターンにコメントを付けることもできます。これは非常に便利です。
{<div\s+class=\"article\"> # many spaces between the div and the attribute
<h2(.*) # don't really care about closing the tag
</div>}sx