質問するログイン新規登録

質問編集履歴

1

例を変更しました

2018/08/27 00:28

投稿

helloman
helloman

スコア39

title CHANGED
File without changes
body CHANGED
@@ -1,23 +1,66 @@
1
1
  phpの正規表現について質問させてください。
2
2
 
3
3
  ```ここに言語を入力
4
+ <table>
4
- <pre><code>ここに<pre><code></code></pre>を入れる</code></pre>
5
+ <tr><th>項目</th><td>内容</td></tr>
6
+ <tr><th>項目</th><td>内容</td></tr>
7
+ <tr>
8
+ <th>項目</th>
9
+ <td>
10
+ <table>
11
+ <tr><th>項目</th><td>内容</td></tr>
12
+ <tr><th>項目</th><td>内容</td></tr>
13
+ <tr><th>項目</th><td>内容</td></tr>
14
+ </table>
15
+ </td>
16
+ </tr>
17
+ <tr><th>項目</th><td>内容</td></tr>
18
+ </table>
19
+
5
- ```という文字列に対して
20
+ ```というhtmlに対して
6
21
  ```ここに言語を入力
22
+ <div class="wrapper"><table>
7
- <div class="wrapper"><pre><code>ここに<pre><code></code></pre>を入れる</code></pre></div>
23
+ <tr><th>項目</th><td>内容</td></tr>
24
+ <tr><th>項目</th><td>内容</td></tr>
25
+ <tr>
26
+ <th>項目</th>
27
+ <td>
28
+ <table>
29
+ <tr><th>項目</th><td>内容</td></tr>
30
+ <tr><th>項目</th><td>内容</td></tr>
31
+ <tr><th>項目</th><td>内容</td></tr>
32
+ </table>
33
+ </td>
34
+ </tr>
35
+ <tr><th>項目</th><td>内容</td></tr>
36
+ </table></div>
8
37
  ```と置き換える正規表現を模索中です。
9
38
 
10
39
  単純に
11
40
  ```ここに言語を入力
12
- '/<pre(.*?)</pre>/is'
41
+ '/<table(.*?)</table>/i'
13
42
  ```
14
43
  としていたのですが、入れ子にした場合最短マッチのため子要素の閉じタグにマッチしてしまいます。
15
44
 
16
45
  下記参照
17
46
  ```ここに言語を入力
47
+ <div class="wrapper"><table>
18
- <div class="wrapper"><pre><code>ここに<pre><code></code></pre></div>を入れる</code></pre>
48
+ <tr><th>項目</th><td>内容</td></tr>
49
+ <tr><th>項目</th><td>内容</td></tr>
50
+ <tr>
51
+ <th>項目</th>
52
+ <td>
53
+ <table>
54
+ <tr><th>項目</th><td>内容</td></tr>
55
+ <tr><th>項目</th><td>内容</td></tr>
56
+ <tr><th>項目</th><td>内容</td></tr>
57
+ </table></div>
58
+ </td>
59
+ </tr>
60
+ <tr><th>項目</th><td>内容</td></tr>
61
+ </table>
19
62
  ```
20
- tableタグや,divタグなど他のタグでも同様で、
63
+ divタグなど他のタグでも同様で、
21
64
  同じ子要素がある場合は親要素にマッチさせる方法はないでしょうか?
22
65
 
23
66
  よろしくお願い致します。