-1

タグのネストされたコンテンツを抽出しています。ローカル マシン (WAMP) PHP バージョン 5.3.8、マルチバイト正規表現 (鬼車) バージョン - 4.7.1 で完全に動作する正規表現を作成しました。

$tagname = 'mytag';
$pattern = "@<$tagname(?:\s.*?!/)?>(.*?)</$tagname\s*>@s"; 

しかし、同じ正規表現は、PHP バージョン 5.2.11、マルチバイト正規表現 (鬼車) バージョン 4.4.4、およびマルチバイト正規表現 (鬼車) バックトラック チェック = オンの構成の私のライブ マシンでは正しく機能しません。

この正規表現を変更して、ライブ サイトで動作するようにしてください。

この正規表現は一致<mytag></mytag>し、一致しません<mytag />

更新: ご提案とご回答ありがとうございます。

その正規表現を少し更新したところ、うまくいきました。内部コンテンツ (ネストされたタグとテキスト) を取得したい場合はいつでも、この正規表現を使用できます。タグの配置や属性の数に関係なく。

4

1 に答える 1

0

次のような場所に配置する必要があります。

(?:</$tagname>|/>)
于 2012-04-21T07:43:14.743 に答える