回答編集履歴
5
誤字
test
CHANGED
@@ -68,7 +68,7 @@
|
|
68
68
|
|
69
69
|
**(追記) これが正解かもしれません**
|
70
70
|
|
71
|
-
さらに調べていたら(コードを読んでいたら)、findの第三引数をtrueにすると大文字小文字を区別しないで検索できるみたいでした...公式ドキュメントには書いて
|
71
|
+
さらに調べていたら(コードを読んでいたら)、findの第三引数をtrueにすると大文字小文字を区別しないで検索できるみたいでした...公式ドキュメントには書いてなさそうだったので、よくテストしてみてください
|
72
72
|
|
73
73
|
```php
|
74
74
|
|
4
補足
test
CHANGED
@@ -1,7 +1,3 @@
|
|
1
|
-
調べた限りだとfindで大文字小文字を区別しないみたいなオプションはなさそうでした。
|
2
|
-
|
3
|
-
|
4
|
-
|
5
1
|
以下のようにまずはpreg_match_allで大文字小文字を区別しないcommentのパターンを抽出して、そのパターンすべてでfindしてはどうでしょうか
|
6
2
|
|
7
3
|
※若干処理は無駄ですが、実装はわりと簡単です。
|
@@ -67,3 +63,29 @@
|
|
67
63
|
echo $dom . "\n";
|
68
64
|
|
69
65
|
```
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
**(追記) これが正解かもしれません**
|
70
|
+
|
71
|
+
さらに調べていたら(コードを読んでいたら)、findの第三引数をtrueにすると大文字小文字を区別しないで検索できるみたいでした...公式ドキュメントには書いていないので、よく実験してみてください
|
72
|
+
|
73
|
+
```php
|
74
|
+
|
75
|
+
<?php
|
76
|
+
|
77
|
+
require_once 'simple_html_dom.php';
|
78
|
+
|
79
|
+
$html = "<html><body><div id='comment'></div><p>AAA</p><div id='Comment'></div><body></html>";
|
80
|
+
|
81
|
+
$dom = str_get_html($html);
|
82
|
+
|
83
|
+
foreach($dom->find("[id=comment]", null, true) as $key => $element ) {
|
84
|
+
|
85
|
+
$element->outertext = '';
|
86
|
+
|
87
|
+
}
|
88
|
+
|
89
|
+
echo $dom . "\n";
|
90
|
+
|
91
|
+
```
|
3
補足
test
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
調べた限りだとfindで大文字小文字を区別しないみたいなオプションはなさそうでした。
|
2
|
+
|
3
|
+
|
4
|
+
|
1
5
|
以下のようにまずはpreg_match_allで大文字小文字を区別しないcommentのパターンを抽出して、そのパターンすべてでfindしてはどうでしょうか
|
2
6
|
|
3
7
|
※若干処理は無駄ですが、実装はわりと簡単です。
|
2
改良版
test
CHANGED
@@ -29,3 +29,37 @@
|
|
29
29
|
```
|
30
30
|
|
31
31
|
|
32
|
+
|
33
|
+
**(改良版)**
|
34
|
+
|
35
|
+
findをループするのではなく、カンマ区切りで複数指定する方法が多分パフォーマンスはいいと思うので、以下のようにしてみました。
|
36
|
+
|
37
|
+
```php
|
38
|
+
|
39
|
+
<?php
|
40
|
+
|
41
|
+
require_once 'simple_html_dom.php';
|
42
|
+
|
43
|
+
$html = "<html><body><div id='comment'></div><p></p><div id='Comment'></div><body></html>";
|
44
|
+
|
45
|
+
preg_match_all("/comment/ius", $html, $matches);
|
46
|
+
|
47
|
+
$dom = str_get_html($html);
|
48
|
+
|
49
|
+
$patterns = array();
|
50
|
+
|
51
|
+
foreach($matches[0] as $id) {
|
52
|
+
|
53
|
+
$patterns[] = "[id=$id]";
|
54
|
+
|
55
|
+
}
|
56
|
+
|
57
|
+
foreach($dom->find(implode(',', $patterns)) as $key => $element ) {
|
58
|
+
|
59
|
+
$element->outertext = '';
|
60
|
+
|
61
|
+
}
|
62
|
+
|
63
|
+
echo $dom . "\n";
|
64
|
+
|
65
|
+
```
|
1
補足
test
CHANGED
@@ -1,4 +1,6 @@
|
|
1
|
-
以下のようにまずはpreg_match_allで大文字小文字を区別しないcommentを抽出して、そのパターンすべてでfindしてはどうでしょうか
|
1
|
+
以下のようにまずはpreg_match_allで大文字小文字を区別しないcommentのパターンを抽出して、そのパターンすべてでfindしてはどうでしょうか
|
2
|
+
|
3
|
+
※若干処理は無駄ですが、実装はわりと簡単です。
|
2
4
|
|
3
5
|
```php
|
4
6
|
|
@@ -26,4 +28,4 @@
|
|
26
28
|
|
27
29
|
```
|
28
30
|
|
29
|
-
|
31
|
+
|