phpの正規表現について質問させてください。
<table> <tr><th>項目</th><td>内容</td></tr> <tr><th>項目</th><td>内容</td></tr> <tr> <th>項目</th> <td> <table> <tr><th>項目</th><td>内容</td></tr> <tr><th>項目</th><td>内容</td></tr> <tr><th>項目</th><td>内容</td></tr> </table> </td> </tr> <tr><th>項目</th><td>内容</td></tr> </table> ```というhtmlに対して ```ここに言語を入力 <div class="wrapper"><table> <tr><th>項目</th><td>内容</td></tr> <tr><th>項目</th><td>内容</td></tr> <tr> <th>項目</th> <td> <table> <tr><th>項目</th><td>内容</td></tr> <tr><th>項目</th><td>内容</td></tr> <tr><th>項目</th><td>内容</td></tr> </table> </td> </tr> <tr><th>項目</th><td>内容</td></tr> </table></div> ```と置き換える正規表現を模索中です。 単純に ```ここに言語を入力 '/<table(.*?)</table>/i'
としていたのですが、入れ子にした場合最短マッチのため子要素の閉じタグにマッチしてしまいます。
下記参照
<div class="wrapper"><table> <tr><th>項目</th><td>内容</td></tr> <tr><th>項目</th><td>内容</td></tr> <tr> <th>項目</th> <td> <table> <tr><th>項目</th><td>内容</td></tr> <tr><th>項目</th><td>内容</td></tr> <tr><th>項目</th><td>内容</td></tr> </table></div> </td> </tr> <tr><th>項目</th><td>内容</td></tr> </table>
divタグなど他のタグでも同様で、
同じ子要素がある場合は親要素にマッチさせる方法はないでしょうか?
よろしくお願い致します。

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/27 02:04