1--TEST-- 2Accessing children nodes 3--SKIPIF-- 4<?php if (!extension_loaded("tidy")) print "skip"; ?> 5--FILE-- 6<?php 7 8 function dump_nodes(tidyNode $node) { 9 10 var_dump($node->hasChildren()); 11 if($node->hasChildren()) { 12 13 foreach($node->child as $c) { 14 15 var_dump($c); 16 17 if($c->hasChildren()) { 18 19 dump_nodes($c); 20 21 } 22 } 23 24 } 25 26 } 27 28 $a = tidy_parse_string("<HTML><BODY BGCOLOR=#FFFFFF ALINK=#000000><B>Hi</B><I>Bye<U>Test</U></I></BODY></HTML>", array('newline' => 'LF')); 29 $html = $a->html(); 30 dump_nodes($html); 31 32?> 33--EXPECTF-- 34bool(true) 35object(tidyNode)#3 (9) { 36 ["value"]=> 37 string(31) "<head> 38<title></title> 39</head> 40" 41 ["name"]=> 42 string(4) "head" 43 ["type"]=> 44 int(5) 45 ["line"]=> 46 int(1) 47 ["column"]=> 48 int(7) 49 ["proprietary"]=> 50 bool(false) 51 ["id"]=> 52 int(46) 53 ["attribute"]=> 54 NULL 55 ["child"]=> 56 array(1) { 57 [0]=> 58 object(tidyNode)#4 (9) { 59 ["value"]=> 60 string(16) "<title></title> 61" 62 ["name"]=> 63 string(5) "title" 64 ["type"]=> 65 int(5) 66 ["line"]=> 67 int(1) 68 ["column"]=> 69 int(87) 70 ["proprietary"]=> 71 bool(false) 72 ["id"]=> 73 int(%i) 74 ["attribute"]=> 75 NULL 76 ["child"]=> 77 NULL 78 } 79 } 80} 81bool(true) 82object(tidyNode)#4 (9) { 83 ["value"]=> 84 string(16) "<title></title> 85" 86 ["name"]=> 87 string(5) "title" 88 ["type"]=> 89 int(5) 90 ["line"]=> 91 int(1) 92 ["column"]=> 93 int(87) 94 ["proprietary"]=> 95 bool(false) 96 ["id"]=> 97 int(%i) 98 ["attribute"]=> 99 NULL 100 ["child"]=> 101 NULL 102} 103object(tidyNode)#5 (9) { 104 ["value"]=> 105 string(80) "<body bgcolor="#FFFFFF" alink="#000000"> 106<b>Hi</b><i>Bye<u>Test</u></i> 107</body> 108" 109 ["name"]=> 110 string(4) "body" 111 ["type"]=> 112 int(5) 113 ["line"]=> 114 int(1) 115 ["column"]=> 116 int(7) 117 ["proprietary"]=> 118 bool(false) 119 ["id"]=> 120 int(16) 121 ["attribute"]=> 122 array(2) { 123 ["bgcolor"]=> 124 string(7) "#FFFFFF" 125 ["alink"]=> 126 string(7) "#000000" 127 } 128 ["child"]=> 129 array(2) { 130 [0]=> 131 object(tidyNode)#6 (9) { 132 ["value"]=> 133 string(9) "<b>Hi</b>" 134 ["name"]=> 135 string(1) "b" 136 ["type"]=> 137 int(5) 138 ["line"]=> 139 int(1) 140 ["column"]=> 141 int(43) 142 ["proprietary"]=> 143 bool(false) 144 ["id"]=> 145 int(8) 146 ["attribute"]=> 147 NULL 148 ["child"]=> 149 array(1) { 150 [0]=> 151 object(tidyNode)#7 (8) { 152 ["value"]=> 153 string(2) "Hi" 154 ["name"]=> 155 string(0) "" 156 ["type"]=> 157 int(4) 158 ["line"]=> 159 int(1) 160 ["column"]=> 161 int(46) 162 ["proprietary"]=> 163 bool(false) 164 ["attribute"]=> 165 NULL 166 ["child"]=> 167 NULL 168 } 169 } 170 } 171 [1]=> 172 object(tidyNode)#8 (9) { 173 ["value"]=> 174 string(21) "<i>Bye<u>Test</u></i>" 175 ["name"]=> 176 string(1) "i" 177 ["type"]=> 178 int(5) 179 ["line"]=> 180 int(1) 181 ["column"]=> 182 int(52) 183 ["proprietary"]=> 184 bool(false) 185 ["id"]=> 186 int(49) 187 ["attribute"]=> 188 NULL 189 ["child"]=> 190 array(2) { 191 [0]=> 192 object(tidyNode)#9 (8) { 193 ["value"]=> 194 string(3) "Bye" 195 ["name"]=> 196 string(0) "" 197 ["type"]=> 198 int(4) 199 ["line"]=> 200 int(1) 201 ["column"]=> 202 int(55) 203 ["proprietary"]=> 204 bool(false) 205 ["attribute"]=> 206 NULL 207 ["child"]=> 208 NULL 209 } 210 [1]=> 211 object(tidyNode)#10 (9) { 212 ["value"]=> 213 string(11) "<u>Test</u>" 214 ["name"]=> 215 string(1) "u" 216 ["type"]=> 217 int(5) 218 ["line"]=> 219 int(1) 220 ["column"]=> 221 int(58) 222 ["proprietary"]=> 223 bool(false) 224 ["id"]=> 225 int(%i) 226 ["attribute"]=> 227 NULL 228 ["child"]=> 229 array(1) { 230 [0]=> 231 object(tidyNode)#11 (8) { 232 ["value"]=> 233 string(4) "Test" 234 ["name"]=> 235 string(0) "" 236 ["type"]=> 237 int(4) 238 ["line"]=> 239 int(1) 240 ["column"]=> 241 int(61) 242 ["proprietary"]=> 243 bool(false) 244 ["attribute"]=> 245 NULL 246 ["child"]=> 247 NULL 248 } 249 } 250 } 251 } 252 } 253 } 254} 255bool(true) 256object(tidyNode)#6 (9) { 257 ["value"]=> 258 string(9) "<b>Hi</b>" 259 ["name"]=> 260 string(1) "b" 261 ["type"]=> 262 int(5) 263 ["line"]=> 264 int(1) 265 ["column"]=> 266 int(43) 267 ["proprietary"]=> 268 bool(false) 269 ["id"]=> 270 int(8) 271 ["attribute"]=> 272 NULL 273 ["child"]=> 274 array(1) { 275 [0]=> 276 object(tidyNode)#7 (8) { 277 ["value"]=> 278 string(2) "Hi" 279 ["name"]=> 280 string(0) "" 281 ["type"]=> 282 int(4) 283 ["line"]=> 284 int(1) 285 ["column"]=> 286 int(46) 287 ["proprietary"]=> 288 bool(false) 289 ["attribute"]=> 290 NULL 291 ["child"]=> 292 NULL 293 } 294 } 295} 296bool(true) 297object(tidyNode)#7 (8) { 298 ["value"]=> 299 string(2) "Hi" 300 ["name"]=> 301 string(0) "" 302 ["type"]=> 303 int(4) 304 ["line"]=> 305 int(1) 306 ["column"]=> 307 int(46) 308 ["proprietary"]=> 309 bool(false) 310 ["attribute"]=> 311 NULL 312 ["child"]=> 313 NULL 314} 315object(tidyNode)#8 (9) { 316 ["value"]=> 317 string(21) "<i>Bye<u>Test</u></i>" 318 ["name"]=> 319 string(1) "i" 320 ["type"]=> 321 int(5) 322 ["line"]=> 323 int(1) 324 ["column"]=> 325 int(52) 326 ["proprietary"]=> 327 bool(false) 328 ["id"]=> 329 int(49) 330 ["attribute"]=> 331 NULL 332 ["child"]=> 333 array(2) { 334 [0]=> 335 object(tidyNode)#9 (8) { 336 ["value"]=> 337 string(3) "Bye" 338 ["name"]=> 339 string(0) "" 340 ["type"]=> 341 int(4) 342 ["line"]=> 343 int(1) 344 ["column"]=> 345 int(55) 346 ["proprietary"]=> 347 bool(false) 348 ["attribute"]=> 349 NULL 350 ["child"]=> 351 NULL 352 } 353 [1]=> 354 object(tidyNode)#10 (9) { 355 ["value"]=> 356 string(11) "<u>Test</u>" 357 ["name"]=> 358 string(1) "u" 359 ["type"]=> 360 int(5) 361 ["line"]=> 362 int(1) 363 ["column"]=> 364 int(58) 365 ["proprietary"]=> 366 bool(false) 367 ["id"]=> 368 int(%i) 369 ["attribute"]=> 370 NULL 371 ["child"]=> 372 array(1) { 373 [0]=> 374 object(tidyNode)#11 (8) { 375 ["value"]=> 376 string(4) "Test" 377 ["name"]=> 378 string(0) "" 379 ["type"]=> 380 int(4) 381 ["line"]=> 382 int(1) 383 ["column"]=> 384 int(61) 385 ["proprietary"]=> 386 bool(false) 387 ["attribute"]=> 388 NULL 389 ["child"]=> 390 NULL 391 } 392 } 393 } 394 } 395} 396bool(true) 397object(tidyNode)#9 (8) { 398 ["value"]=> 399 string(3) "Bye" 400 ["name"]=> 401 string(0) "" 402 ["type"]=> 403 int(4) 404 ["line"]=> 405 int(1) 406 ["column"]=> 407 int(55) 408 ["proprietary"]=> 409 bool(false) 410 ["attribute"]=> 411 NULL 412 ["child"]=> 413 NULL 414} 415object(tidyNode)#10 (9) { 416 ["value"]=> 417 string(11) "<u>Test</u>" 418 ["name"]=> 419 string(1) "u" 420 ["type"]=> 421 int(5) 422 ["line"]=> 423 int(1) 424 ["column"]=> 425 int(58) 426 ["proprietary"]=> 427 bool(false) 428 ["id"]=> 429 int(%i) 430 ["attribute"]=> 431 NULL 432 ["child"]=> 433 array(1) { 434 [0]=> 435 object(tidyNode)#11 (8) { 436 ["value"]=> 437 string(4) "Test" 438 ["name"]=> 439 string(0) "" 440 ["type"]=> 441 int(4) 442 ["line"]=> 443 int(1) 444 ["column"]=> 445 int(61) 446 ["proprietary"]=> 447 bool(false) 448 ["attribute"]=> 449 NULL 450 ["child"]=> 451 NULL 452 } 453 } 454} 455bool(true) 456object(tidyNode)#11 (8) { 457 ["value"]=> 458 string(4) "Test" 459 ["name"]=> 460 string(0) "" 461 ["type"]=> 462 int(4) 463 ["line"]=> 464 int(1) 465 ["column"]=> 466 int(61) 467 ["proprietary"]=> 468 bool(false) 469 ["attribute"]=> 470 NULL 471 ["child"]=> 472 NULL 473} 474