1

次のHTMLコードを取得しました。

<ul class='ips'>my_content</ul>

さて、これをテキストpreg_match_allだけに一致させるにはどうすればよいですか?my_content

私はこの質問からの答えを試していました:HTMLタグ間のphpのPreg一致テキストですが、正規表現を変更すると、HTMLタグを含むコード全体が選択されます。

4

2 に答える 2

1

次の正規表現は、タグ間のマッチングに使用できます。

一致します:

<ul class='ips'>... 

一重引用符と二重引用符を使用します。

$string = "<ul class='ips'>my_content</ul>";
preg_match_all('/[^>]class=["\']ips[\'"]*>(.*?)<\//',
           $string,
           $matches,
           PREG_PATTERN_ORDER);
print_r($matches);

それがdiv、ulなどであるかどうかを気にしない場合は、正規表現パターンから<ulとを削除します。ul>

上からの応答:

Array
(
[0] => Array
    (
        [0] => <ul class="ips">my_content</ul>
    )

[1] => Array
    (
        [0] => my_content
    )

)
于 2012-06-16T02:53:13.700 に答える
0

ここで、この正規表現を使用してバリエーションを許可します。

/[^>]class\s*=\s*["\'].*ips.*[\'"].*>/
  • 等号の前後のスペース
  • 1つのクラス属性に複数のクラス名
  • クラス属性の後の複数の属性
于 2015-05-12T20:56:46.243 に答える