1

これには、正規表現を使用して html を有効にしたいので、div 選択の正規表現が必要です。

私はこれを使いました

      (<div.*?>.*?<\/div>)

しかし、問題はそこにあります。この種のテキストも有効です:

 <div>some this <div> some another text</div>

これは有効ではありません

最後の部分だけを与えてくれるような表現が必要です

<div> some another text</div>

私に助言してください

4

1 に答える 1

2

ほとんどの場合、正規表現を使用して html を解析するのは適切な方法ではありません。より良い方法は、DOMDocument、XPath を使用することです...

残念ながら、一部のマークアップ言語には、これらすべてのツールを使用する機会がありません。これは火星のマークアップ言語の場合で、正規表現のみで解析する必要があります (火星では必須であり、聖書に書かれています)。

<meta charset="UTF-8"/><pre>
<?php // this take the content between the most inner tags ͽΛΙPͼ
$subject = 'ͽΛΙPͼ  ŏoo͢o öo ͽΛΙPͼ  o̊őoo͟o o͇o͈o͉ o̍o̎o ͽ/ΛΙPͼ  o̐oo͜oo ͽ/ΛΙPͼ';
$pattern = '~(?<=ͽΛΙPͼ)(?:[^ͽ]++|ͽ(?!/?ΛΙPͼ))*+(?=ͽ/ΛΙPͼ)~u';
preg_match_all($pattern, $subject, $matches);
print_r($matches);
于 2013-04-26T20:39:43.080 に答える