質問編集履歴
2
加筆しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -78,7 +78,7 @@
|
|
78
78
|
|
79
79
|
ここに来て、いくつか解決すべき問題点に2つに気がつきました。
|
80
80
|
|
81
|
-
1. 実際にHTMLの構造は深いものもあり、上記の自前で用意したHTMLではどこまでchildNodesを追跡すれば良いのか全貌がわかっているので対応できるのですが、HTML構造を事前に知らない場合など、DOMを利用してどのような方法で**再帰的に走査**することが一般的なのでしょうか?
|
81
|
+
1. 実際にHTMLの構造は深いものもあり、上記の自前で用意したHTMLではどこまでchildNodesを追跡すれば良いのか全貌がわかっているので対応できるのですが、HTML構造を事前に知らない場合など、DOMを利用してどのような方法で**再帰的に走査**することが一般的なのでしょうか? DomdocumentクラスのchildNodesプロパティで取得できる事は分かったのですが、NULLになるまで繰り返すようなやり方はしないと思うので、アドバイスをいただきたいです。
|
82
82
|
|
83
83
|
|
84
84
|
|
1
コードを修正しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -44,13 +44,23 @@
|
|
44
44
|
|
45
45
|
var_dump($key->tagName);
|
46
46
|
|
47
|
-
if($key->tagName==="script"){
|
47
|
+
if($key->tagName==="script"){
|
48
|
+
|
49
|
+
//無害化
|
50
|
+
|
51
|
+
}
|
48
52
|
|
49
53
|
echo "<br>";
|
50
54
|
|
51
55
|
var_dump($key->attributes);
|
52
56
|
|
53
|
-
if($key->tagName==="img" && substr($key->getAttribute('src'),0,4)==="java")
|
57
|
+
if($key->tagName==="img" && substr($key->getAttribute('src'),0,4)==="java")
|
58
|
+
|
59
|
+
{
|
60
|
+
|
61
|
+
//無害化
|
62
|
+
|
63
|
+
}
|
54
64
|
|
55
65
|
echo "<br>";
|
56
66
|
|