Add autonomias/provincias script

This commit is contained in:
Inigo Flores 2016-04-21 13:05:51 +02:00
parent f890950923
commit 8a3a609d22
175 changed files with 35820 additions and 23 deletions

View File

@ -9,10 +9,8 @@ Este dataset es parte del proyecto abierto y colaborativo CodeForSpain. Puedes o
- [Twitter](https://twitter.com/codeforspain)
- [www.codeforspain.org](www.codeforspain.org)
## Datos
### Municipios
## Municipios
- URL: [Relación de municipios y códigos por provincias](http://www.ine.es/daco/daco42/codmun/codmun16/16codmunmapa.htm)
@ -78,18 +76,93 @@ En JSON:
En la carpeta [/data/historical](/data/historical) se almacena un histórico con los datos correspondientes a otros años.
### Comunidades Autonomas (PENDIENTE)
## Provincias
- URL: http://www.ine.es/daco/daco42/codmun/cod_ccaa.htm
- Tipo: HTML
No ha sufrido modificaciones en los últimos años.
### Provincias (PENDIENTE)
- URL: http://www.ine.es/daco/daco42/codmun/cod_provincia.htm
- Tipo: HTML
- Script: [/scripts/autonomias_provincias/](/scripts/autonomias_provincias/)
- Datos procesaods: [/data/provincias.json](data/provincias.json) | [/data/provincias.csv](data/provincias.csv)
Las modificaciones que se producen son en las denominaciones oficiales de las provincias.
Las modificaciones que se producen son solo en las denominaciones oficiales de las provincias.
### Formato de los datos
Incluye los siguientes campos:
codigo: Codigo INE de la provincia
nombre: Denominacion oficial
Ejemplo en CSV:
| codigo | nombre |
|--------|------------------|
| 02 | Albacete |
| 03 | Alicante/Alacant |
| 04 | Almería |
En JSON:
[
{
"codigo": "02",
"nombre": "Albacete"
},
{
"codigo": "03",
"nombre": "Alicante\/Alacant"
},
{
"codigo": "04",
"nombre": "Almería"
},
## Comunidades Autonomas
- URL: http://www.ine.es/daco/daco42/codmun/cod_ccaa.htm
- Tipo: HTML
- Script: [/scripts/autonomias_provincias/](/scripts/autonomias_provincias/)
- Datos procesaods: [/data/autonomias.json](data/autonomias.json) | [/data/autonomias.csv](data/autonomias.csv)
No ha sufrido modificaciones en los últimos años.
### Formato de los datos
Incluye los siguientes campos:
codigo: Codigo INE de la autonomia
nombre: Denominacion oficial
Ejemplo en CSV:
| codigo | nombre |
|--------|---------------------------|
| 01 | Andalucía |
| 02 | Aragón |
| 03 | "Asturias, Principado de" |
En JSON:
[
{
"codigo":"01",
"nombre":"Andalucía"
},
{
"codigo":"02",
"nombre":"Aragón"
},
{
"codigo":"03",
"nombre":"Asturias, Principado de"
},

2128
archive/cod_ccaa.htm Normal file

File diff suppressed because it is too large Load Diff

2282
archive/cod_provincia.htm Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1 +0,0 @@
/home/inigo/code/ds-organizacion-administrativa/data/municipios-2016.csv
1 /home/inigo/code/ds-organizacion-administrativa/data/municipios-2016.csv

View File

@ -1 +0,0 @@
/home/inigo/code/ds-organizacion-administrativa/data/municipios-2016.json

20
data/autonomias.csv Normal file
View File

@ -0,0 +1,20 @@
codigo,nombre
01,Andalucía
02,Aragón
03,"Asturias, Principado de"
04,"Balears, Illes"
05,Canarias
06,Cantabria
07,"Castilla y León"
08,"Castilla - La Mancha"
09,Cataluña
10,"Comunitat Valenciana"
11,Extremadura
12,Galicia
13,"Madrid, Comunidad de"
14,"Murcia, Región de"
15,"Navarra, Comunidad Foral de"
16,"País Vasco"
17,"Rioja, La"
18,Ceuta
19,Melilla
1 codigo nombre
2 01 Andalucía
3 02 Aragón
4 03 Asturias, Principado de
5 04 Balears, Illes
6 05 Canarias
7 06 Cantabria
8 07 Castilla y León
9 08 Castilla - La Mancha
10 09 Cataluña
11 10 Comunitat Valenciana
12 11 Extremadura
13 12 Galicia
14 13 Madrid, Comunidad de
15 14 Murcia, Región de
16 15 Navarra, Comunidad Foral de
17 16 País Vasco
18 17 Rioja, La
19 18 Ceuta
20 19 Melilla

78
data/autonomias.json Normal file
View File

@ -0,0 +1,78 @@
[
{
"codigo": "01",
"nombre": "Andalucía"
},
{
"codigo": "02",
"nombre": "Aragón"
},
{
"codigo": "03",
"nombre": "Asturias, Principado de"
},
{
"codigo": "04",
"nombre": "Balears, Illes"
},
{
"codigo": "05",
"nombre": "Canarias"
},
{
"codigo": "06",
"nombre": "Cantabria"
},
{
"codigo": "07",
"nombre": "Castilla y León"
},
{
"codigo": "08",
"nombre": "Castilla - La Mancha"
},
{
"codigo": "09",
"nombre": "Cataluña"
},
{
"codigo": "10",
"nombre": "Comunitat Valenciana"
},
{
"codigo": "11",
"nombre": "Extremadura"
},
{
"codigo": "12",
"nombre": "Galicia"
},
{
"codigo": "13",
"nombre": "Madrid, Comunidad de"
},
{
"codigo": "14",
"nombre": "Murcia, Región de"
},
{
"codigo": "15",
"nombre": "Navarra, Comunidad Foral de"
},
{
"codigo": "16",
"nombre": "País Vasco"
},
{
"codigo": "17",
"nombre": "Rioja, La"
},
{
"codigo": "18",
"nombre": "Ceuta"
},
{
"codigo": "19",
"nombre": "Melilla"
}
]

53
data/provincias.csv Normal file
View File

@ -0,0 +1,53 @@
codigo,nombre
02,Albacete
03,Alicante/Alacant
04,Almería
01,Araba/Álava
33,Asturias
05,Ávila
06,Badajoz
07,"Balears, Illes"
08,Barcelona
48,Bizkaia
09,Burgos
10,Cáceres
11,Cádiz
39,Cantabria
12,Castellón/Castelló
13,"Ciudad Real"
14,Córdoba
15,"Coruña, A"
16,Cuenca
20,Gipuzkoa
17,Girona
18,Granada
19,Guadalajara
21,Huelva
22,Huesca
23,Jaén
24,León
25,Lleida
27,Lugo
28,Madrid
29,Málaga
30,Murcia
31,Navarra
32,Ourense
34,Palencia
35,"Palmas, Las"
36,Pontevedra
26,"Rioja, La"
37,Salamanca
38,"Santa Cruz de Tenerife"
40,Segovia
41,Sevilla
42,Soria
43,Tarragona
44,Teruel
45,Toledo
46,Valencia/València
47,Valladolid
49,Zamora
50,Zaragoza
51,Ceuta
52,Melilla
1 codigo nombre
2 02 Albacete
3 03 Alicante/Alacant
4 04 Almería
5 01 Araba/Álava
6 33 Asturias
7 05 Ávila
8 06 Badajoz
9 07 Balears, Illes
10 08 Barcelona
11 48 Bizkaia
12 09 Burgos
13 10 Cáceres
14 11 Cádiz
15 39 Cantabria
16 12 Castellón/Castelló
17 13 Ciudad Real
18 14 Córdoba
19 15 Coruña, A
20 16 Cuenca
21 20 Gipuzkoa
22 17 Girona
23 18 Granada
24 19 Guadalajara
25 21 Huelva
26 22 Huesca
27 23 Jaén
28 24 León
29 25 Lleida
30 27 Lugo
31 28 Madrid
32 29 Málaga
33 30 Murcia
34 31 Navarra
35 32 Ourense
36 34 Palencia
37 35 Palmas, Las
38 36 Pontevedra
39 26 Rioja, La
40 37 Salamanca
41 38 Santa Cruz de Tenerife
42 40 Segovia
43 41 Sevilla
44 42 Soria
45 43 Tarragona
46 44 Teruel
47 45 Toledo
48 46 Valencia/València
49 47 Valladolid
50 49 Zamora
51 50 Zaragoza
52 51 Ceuta
53 52 Melilla

210
data/provincias.json Normal file
View File

@ -0,0 +1,210 @@
[
{
"codigo": "02",
"nombre": "Albacete"
},
{
"codigo": "03",
"nombre": "Alicante\/Alacant"
},
{
"codigo": "04",
"nombre": "Almería"
},
{
"codigo": "01",
"nombre": "Araba\/Álava"
},
{
"codigo": "33",
"nombre": "Asturias"
},
{
"codigo": "05",
"nombre": "Ávila"
},
{
"codigo": "06",
"nombre": "Badajoz"
},
{
"codigo": "07",
"nombre": "Balears, Illes"
},
{
"codigo": "08",
"nombre": "Barcelona"
},
{
"codigo": "48",
"nombre": "Bizkaia"
},
{
"codigo": "09",
"nombre": "Burgos"
},
{
"codigo": "10",
"nombre": "Cáceres"
},
{
"codigo": "11",
"nombre": "Cádiz"
},
{
"codigo": "39",
"nombre": "Cantabria"
},
{
"codigo": "12",
"nombre": "Castellón\/Castelló"
},
{
"codigo": "13",
"nombre": "Ciudad Real"
},
{
"codigo": "14",
"nombre": "Córdoba"
},
{
"codigo": "15",
"nombre": "Coruña, A"
},
{
"codigo": "16",
"nombre": "Cuenca"
},
{
"codigo": "20",
"nombre": "Gipuzkoa"
},
{
"codigo": "17",
"nombre": "Girona"
},
{
"codigo": "18",
"nombre": "Granada"
},
{
"codigo": "19",
"nombre": "Guadalajara"
},
{
"codigo": "21",
"nombre": "Huelva"
},
{
"codigo": "22",
"nombre": "Huesca"
},
{
"codigo": "23",
"nombre": "Jaén"
},
{
"codigo": "24",
"nombre": "León"
},
{
"codigo": "25",
"nombre": "Lleida"
},
{
"codigo": "27",
"nombre": "Lugo"
},
{
"codigo": "28",
"nombre": "Madrid"
},
{
"codigo": "29",
"nombre": "Málaga"
},
{
"codigo": "30",
"nombre": "Murcia"
},
{
"codigo": "31",
"nombre": "Navarra"
},
{
"codigo": "32",
"nombre": "Ourense"
},
{
"codigo": "34",
"nombre": "Palencia"
},
{
"codigo": "35",
"nombre": "Palmas, Las"
},
{
"codigo": "36",
"nombre": "Pontevedra"
},
{
"codigo": "26",
"nombre": "Rioja, La"
},
{
"codigo": "37",
"nombre": "Salamanca"
},
{
"codigo": "38",
"nombre": "Santa Cruz de Tenerife"
},
{
"codigo": "40",
"nombre": "Segovia"
},
{
"codigo": "41",
"nombre": "Sevilla"
},
{
"codigo": "42",
"nombre": "Soria"
},
{
"codigo": "43",
"nombre": "Tarragona"
},
{
"codigo": "44",
"nombre": "Teruel"
},
{
"codigo": "45",
"nombre": "Toledo"
},
{
"codigo": "46",
"nombre": "Valencia\/València"
},
{
"codigo": "47",
"nombre": "Valladolid"
},
{
"codigo": "49",
"nombre": "Zamora"
},
{
"codigo": "50",
"nombre": "Zaragoza"
},
{
"codigo": "51",
"nombre": "Ceuta"
},
{
"codigo": "52",
"nombre": "Melilla"
}
]

View File

@ -47,8 +47,44 @@
},
{
"name": "NOMBRE",
"type": "string",
"description": "Denominación oficial del municipio"
}
]
}
},
{
"path": "data/provincias.csv",
"schema": {
"fields": [
{
"name": "codigo",
"type": "number",
"description": "Denominación Oficial del Municipios"
"description": "Código INE de la provincia",
"pattern": "[0-9]{2}"
},
{
"name": "nombre",
"type": "string",
"description": "Denominación oficial de la provincia"
}
]
}
},
{
"path": "data/autonomias.csv",
"schema": {
"fields": [
{
"name": "codigo",
"type": "number",
"description": "Código INE de la comunidad autónoma",
"pattern": "[0-9]{2}"
},
{
"name": "nombre",
"type": "string",
"description": "Denominación oficial de la comunidad autónoma"
}
]
}

View File

@ -0,0 +1,24 @@
# Autonomias y Provincias
Procesa los archivos fuente de autonomias alojados en `../../archive`.
Si no los encuentra, los descarga.
## Modo de Uso
$ ./php process.php [-ephd]
### opciones
--help, -h Muestra ayuda y termina
--download, -d Fuerza la descarga de los ficheros fuente aunque ya existan
--pretty_print, -p Formatea la salida JSON, añadiendo indentación y CR/LF al final de las lineas.
--escaped_unicode, -e Codifica caracteres Unicode multibyte escapado como \\uXXXX.
## Requisitos
PHP 5.4+

View File

@ -0,0 +1,6 @@
{
"require":
{
"sunra/php-simple-html-dom-parser": "v1.5.0"
}
}

View File

@ -0,0 +1,62 @@
{
"_readme": [
"This file locks the dependencies of your project to a known state",
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
"hash": "f672c6c6d39ce3a0c607baa5801020db",
"content-hash": "ac5c4db7568034b5ac942975529c6c71",
"packages": [
{
"name": "sunra/php-simple-html-dom-parser",
"version": "v1.5.0",
"source": {
"type": "git",
"url": "https://github.com/sunra/php-simple-html-dom-parser.git",
"reference": "a0b80ace086c7e09085669205e1b3c2c9c7a453c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sunra/php-simple-html-dom-parser/zipball/a0b80ace086c7e09085669205e1b3c2c9c7a453c",
"reference": "a0b80ace086c7e09085669205e1b3c2c9c7a453c",
"shasum": ""
},
"require": {
"php": ">=5.3.2"
},
"type": "library",
"autoload": {
"psr-0": {
"Sunra\\PhpSimple\\HtmlDomParser": "Src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "sunra",
"email": "sunra@yandex.ru",
"homepage": "http://github.com/sunra"
}
],
"description": "Composer adaptation of: A HTML DOM parser written in PHP5+ let you manipulate HTML in a very easy way! Require PHP 5+. Supports invalid HTML. Find tags on an HTML page with selectors just like jQuery. Extract contents from HTML in a single line.",
"homepage": "https://github.com/sunra/php-simple-html-dom-parser",
"keywords": [
"dom",
"html",
"parser"
],
"time": "2013-05-04 14:32:03"
}
],
"packages-dev": [],
"aliases": [],
"minimum-stability": "stable",
"stability-flags": [],
"prefer-stable": false,
"prefer-lowest": false,
"platform": [],
"platform-dev": []
}

View File

@ -0,0 +1,152 @@
<?php
require_once "vendor/autoload.php";
use Sunra\PhpSimple\HtmlDomParser;
$forceDownload = false; // por defect no se descargan las fuentes si ya existen
// Parametros
$urlProvincias = "http://www.ine.es/daco/daco42/codmun/cod_provincia.htm";
$urlAutonomias = "http://www.ine.es/daco/daco42/codmun/cod_ccaa.htm";
$dataFolder = "../../data";
$archiveFolder = "../../archive";
$provinciasSourceFile = "cod_provincia.htm";
$autonomiasSourceFile = "cod_ccaa.htm";
$provinciasDestFile = "provincias";
$autonomiasDestFile = "autonomias";
// Creamos la carpeta si no existe
is_dir($dataFolder) || mkdir($dataFolder);
// Procesamos opciones de entrada
$shortopts = "p"; // pretty_print
$shortopts .= "e"; // unescaped_unicode
$shortopts .= "h"; // unescaped_unicode
$shortopts .= "d"; // unescaped_unicode
$longopts = array(
"pretty_print",
"escaped_unicode",
"help",
"download",
);
$options = getopt($shortopts,$longopts);
$jsonOptions = JSON_UNESCAPED_UNICODE; //default
if (array_key_exists('pretty_print',$options) || array_key_exists('p',$options)) {
$jsonOptions+=JSON_PRETTY_PRINT;
}
if (array_key_exists('escaped_unicode',$options) || array_key_exists('e',$options)) {
$jsonOptions-=JSON_UNESCAPED_UNICODE;
}
if (array_key_exists('help',$options) || array_key_exists('h',$options)) {
showHelp();
exit;
}
if (array_key_exists('download',$options) || array_key_exists('d',$options)) {
$forceDownload = true;
}
// Descargamos fuentes si no existen
if (!file_exists("$archiveFolder/$provinciasSourceFile") || $forceDownload){
file_put_contents("$archiveFolder/$provinciasSourceFile", fopen($urlProvincias, 'r'));
}
if (!file_exists("$archiveFolder/$autonomiasSourceFile") || $forceDownload){
file_put_contents("$archiveFolder/$autonomiasSourceFile", fopen($urlAutonomias, 'r'));
}
// PROCESAMOS PROVINCIAS
$html=iconv("ISO-8859-15", "UTF-8", file_get_contents($urlProvincias));
$dom = HtmlDomParser::str_get_html( $html );
$provincias=[];
foreach($dom->find('table[summary$=quetacion]') as $table) {
foreach($table->find('tr[!valign]') as $row){
$provincias[] = [
'codigo' => trim($row->children(0)->innertext),
'nombre' => html_entity_decode(trim($row->children(1)->innertext)),
];
};
};
// Grabamos JSON
$file = fopen("$dataFolder/$provinciasDestFile.json",'w+');
fwrite($file, json_encode($provincias,$jsonOptions) );
fclose($file);
// Grabamos csv
$file = fopen("$dataFolder/$provinciasDestFile.csv",'w+');
fputcsv($file, array_keys($provincias[0]));
foreach ($provincias as $provincia) {
fputcsv($file, $provincia);
}
fclose($file);
// PROCESAMOS AUTONOMIAS
$html=iconv("ISO-8859-15", "UTF-8", file_get_contents($urlAutonomias));
$dom = HtmlDomParser::str_get_html( $html );
$autonomias=[];
$table=$dom->find('table',0);
$rows = array_slice($table->find('tr'),1);
foreach($rows as $row){
$autonomias[] = [
'codigo' => trim($row->children(0)->innertext),
'nombre' => html_entity_decode(trim($row->children(1)->innertext)),
];
};
// Grabamos JSON
$file = fopen("$dataFolder/$autonomiasDestFile.json",'w+');
fwrite($file, json_encode($autonomias,$jsonOptions) );
fclose($file);
// Grabamos csv
$file = fopen("$dataFolder/$autonomiasDestFile.csv",'w+');
fputcsv($file, array_keys($autonomias[0]));
foreach ($autonomias as $autonomia) {
fputcsv($file, $autonomia);
}
fclose($file);
function showHelp() {
echo "Uso: $ php " . basename(__FILE__) . " [-hvd]\n\n";
echo "Procesa los archivos fuente de autonomias y provincias que publica el INE alojados en ../../archive.\n";
echo "Si no los encuentra, los descarga.\n\n";
echo "Opciones:
-h muestra esta ayuda y termina
-d fuerza la descarga de los ficheros fuente aunque ya existan
--pretty_print, -p Formatea la salida JSON, añadiendo indentación y CR/LF al final de las lineas.
--escaped_unicode, -u Codifica caracteres Unicode multibyte escapado como \\uXXXX.
";
}

View File

@ -0,0 +1,7 @@
<?php
// autoload.php @generated by Composer
require_once __DIR__ . '/composer' . '/autoload_real.php';
return ComposerAutoloaderInit7662417d43d4b8493b90b39c4f5577a2::getLoader();

View File

@ -0,0 +1,413 @@
<?php
/*
* This file is part of Composer.
*
* (c) Nils Adermann <naderman@naderman.de>
* Jordi Boggiano <j.boggiano@seld.be>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Composer\Autoload;
/**
* ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
*
* $loader = new \Composer\Autoload\ClassLoader();
*
* // register classes with namespaces
* $loader->add('Symfony\Component', __DIR__.'/component');
* $loader->add('Symfony', __DIR__.'/framework');
*
* // activate the autoloader
* $loader->register();
*
* // to enable searching the include path (eg. for PEAR packages)
* $loader->setUseIncludePath(true);
*
* In this example, if you try to use a class in the Symfony\Component
* namespace or one of its children (Symfony\Component\Console for instance),
* the autoloader will first look for the class under the component/
* directory, and it will then fallback to the framework/ directory if not
* found before giving up.
*
* This class is loosely based on the Symfony UniversalClassLoader.
*
* @author Fabien Potencier <fabien@symfony.com>
* @author Jordi Boggiano <j.boggiano@seld.be>
* @see http://www.php-fig.org/psr/psr-0/
* @see http://www.php-fig.org/psr/psr-4/
*/
class ClassLoader
{
// PSR-4
private $prefixLengthsPsr4 = array();
private $prefixDirsPsr4 = array();
private $fallbackDirsPsr4 = array();
// PSR-0
private $prefixesPsr0 = array();
private $fallbackDirsPsr0 = array();
private $useIncludePath = false;
private $classMap = array();
private $classMapAuthoritative = false;
public function getPrefixes()
{
if (!empty($this->prefixesPsr0)) {
return call_user_func_array('array_merge', $this->prefixesPsr0);
}
return array();
}
public function getPrefixesPsr4()
{
return $this->prefixDirsPsr4;
}
public function getFallbackDirs()
{
return $this->fallbackDirsPsr0;
}
public function getFallbackDirsPsr4()
{
return $this->fallbackDirsPsr4;
}
public function getClassMap()
{
return $this->classMap;
}
/**
* @param array $classMap Class to filename map
*/
public function addClassMap(array $classMap)
{
if ($this->classMap) {
$this->classMap = array_merge($this->classMap, $classMap);
} else {
$this->classMap = $classMap;
}
}
/**
* Registers a set of PSR-0 directories for a given prefix, either
* appending or prepending to the ones previously set for this prefix.
*
* @param string $prefix The prefix
* @param array|string $paths The PSR-0 root directories
* @param bool $prepend Whether to prepend the directories
*/
public function add($prefix, $paths, $prepend = false)
{
if (!$prefix) {
if ($prepend) {
$this->fallbackDirsPsr0 = array_merge(
(array) $paths,
$this->fallbackDirsPsr0
);
} else {
$this->fallbackDirsPsr0 = array_merge(
$this->fallbackDirsPsr0,
(array) $paths
);
}
return;
}
$first = $prefix[0];
if (!isset($this->prefixesPsr0[$first][$prefix])) {
$this->prefixesPsr0[$first][$prefix] = (array) $paths;
return;
}
if ($prepend) {
$this->prefixesPsr0[$first][$prefix] = array_merge(
(array) $paths,
$this->prefixesPsr0[$first][$prefix]
);
} else {
$this->prefixesPsr0[$first][$prefix] = array_merge(
$this->prefixesPsr0[$first][$prefix],
(array) $paths
);
}
}
/**
* Registers a set of PSR-4 directories for a given namespace, either
* appending or prepending to the ones previously set for this namespace.
*
* @param string $prefix The prefix/namespace, with trailing '\\'
* @param array|string $paths The PSR-0 base directories
* @param bool $prepend Whether to prepend the directories
*
* @throws \InvalidArgumentException
*/
public function addPsr4($prefix, $paths, $prepend = false)
{
if (!$prefix) {
// Register directories for the root namespace.
if ($prepend) {
$this->fallbackDirsPsr4 = array_merge(
(array) $paths,
$this->fallbackDirsPsr4
);
} else {
$this->fallbackDirsPsr4 = array_merge(
$this->fallbackDirsPsr4,
(array) $paths
);
}
} elseif (!isset($this->prefixDirsPsr4[$prefix])) {
// Register directories for a new namespace.
$length = strlen($prefix);
if ('\\' !== $prefix[$length - 1]) {
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
}
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
$this->prefixDirsPsr4[$prefix] = (array) $paths;
} elseif ($prepend) {
// Prepend directories for an already registered namespace.
$this->prefixDirsPsr4[$prefix] = array_merge(
(array) $paths,
$this->prefixDirsPsr4[$prefix]
);
} else {
// Append directories for an already registered namespace.
$this->prefixDirsPsr4[$prefix] = array_merge(
$this->prefixDirsPsr4[$prefix],
(array) $paths
);
}
}
/**
* Registers a set of PSR-0 directories for a given prefix,
* replacing any others previously set for this prefix.
*
* @param string $prefix The prefix
* @param array|string $paths The PSR-0 base directories
*/
public function set($prefix, $paths)
{
if (!$prefix) {
$this->fallbackDirsPsr0 = (array) $paths;
} else {
$this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
}
}
/**
* Registers a set of PSR-4 directories for a given namespace,
* replacing any others previously set for this namespace.
*
* @param string $prefix The prefix/namespace, with trailing '\\'
* @param array|string $paths The PSR-4 base directories
*
* @throws \InvalidArgumentException
*/
public function setPsr4($prefix, $paths)
{
if (!$prefix) {
$this->fallbackDirsPsr4 = (array) $paths;
} else {
$length = strlen($prefix);
if ('\\' !== $prefix[$length - 1]) {
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
}
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
$this->prefixDirsPsr4[$prefix] = (array) $paths;
}
}
/**
* Turns on searching the include path for class files.
*
* @param bool $useIncludePath
*/
public function setUseIncludePath($useIncludePath)
{
$this->useIncludePath = $useIncludePath;
}
/**
* Can be used to check if the autoloader uses the include path to check
* for classes.
*
* @return bool
*/
public function getUseIncludePath()
{
return $this->useIncludePath;
}
/**
* Turns off searching the prefix and fallback directories for classes
* that have not been registered with the class map.
*
* @param bool $classMapAuthoritative
*/
public function setClassMapAuthoritative($classMapAuthoritative)
{
$this->classMapAuthoritative = $classMapAuthoritative;
}
/**
* Should class lookup fail if not found in the current class map?
*
* @return bool
*/
public function isClassMapAuthoritative()
{
return $this->classMapAuthoritative;
}
/**
* Registers this instance as an autoloader.
*
* @param bool $prepend Whether to prepend the autoloader or not
*/
public function register($prepend = false)
{
spl_autoload_register(array($this, 'loadClass'), true, $prepend);
}
/**
* Unregisters this instance as an autoloader.
*/
public function unregister()
{
spl_autoload_unregister(array($this, 'loadClass'));
}
/**
* Loads the given class or interface.
*
* @param string $class The name of the class
* @return bool|null True if loaded, null otherwise
*/
public function loadClass($class)
{
if ($file = $this->findFile($class)) {
includeFile($file);
return true;
}
}
/**
* Finds the path to the file where the class is defined.
*
* @param string $class The name of the class
*
* @return string|false The path if found, false otherwise
*/
public function findFile($class)
{
// work around for PHP 5.3.0 - 5.3.2 https://bugs.php.net/50731
if ('\\' == $class[0]) {
$class = substr($class, 1);
}
// class map lookup
if (isset($this->classMap[$class])) {
return $this->classMap[$class];
}
if ($this->classMapAuthoritative) {
return false;
}
$file = $this->findFileWithExtension($class, '.php');
// Search for Hack files if we are running on HHVM
if ($file === null && defined('HHVM_VERSION')) {
$file = $this->findFileWithExtension($class, '.hh');
}
if ($file === null) {
// Remember that this class does not exist.
return $this->classMap[$class] = false;
}
return $file;
}
private function findFileWithExtension($class, $ext)
{
// PSR-4 lookup
$logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
$first = $class[0];
if (isset($this->prefixLengthsPsr4[$first])) {
foreach ($this->prefixLengthsPsr4[$first] as $prefix => $length) {
if (0 === strpos($class, $prefix)) {
foreach ($this->prefixDirsPsr4[$prefix] as $dir) {
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
return $file;
}
}
}
}
}
// PSR-4 fallback dirs
foreach ($this->fallbackDirsPsr4 as $dir) {
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
return $file;
}
}
// PSR-0 lookup
if (false !== $pos = strrpos($class, '\\')) {
// namespaced class name
$logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
. strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
} else {
// PEAR-like class name
$logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
}
if (isset($this->prefixesPsr0[$first])) {
foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
if (0 === strpos($class, $prefix)) {
foreach ($dirs as $dir) {
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
return $file;
}
}
}
}
}
// PSR-0 fallback dirs
foreach ($this->fallbackDirsPsr0 as $dir) {
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
return $file;
}
}
// PSR-0 include paths.
if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
return $file;
}
}
}
/**
* Scope isolated include.
*
* Prevents access to $this/self from included files.
*/
function includeFile($file)
{
include $file;
}

View File

@ -0,0 +1,21 @@
Copyright (c) 2015 Nils Adermann, Jordi Boggiano
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished
to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@ -0,0 +1,9 @@
<?php
// autoload_classmap.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
);

View File

@ -0,0 +1,10 @@
<?php
// autoload_namespaces.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
'Sunra\\PhpSimple\\HtmlDomParser' => array($vendorDir . '/sunra/php-simple-html-dom-parser/Src'),
);

View File

@ -0,0 +1,9 @@
<?php
// autoload_psr4.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
);

View File

@ -0,0 +1,45 @@
<?php
// autoload_real.php @generated by Composer
class ComposerAutoloaderInit7662417d43d4b8493b90b39c4f5577a2
{
private static $loader;
public static function loadClassLoader($class)
{
if ('Composer\Autoload\ClassLoader' === $class) {
require __DIR__ . '/ClassLoader.php';
}
}
public static function getLoader()
{
if (null !== self::$loader) {
return self::$loader;
}
spl_autoload_register(array('ComposerAutoloaderInit7662417d43d4b8493b90b39c4f5577a2', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
spl_autoload_unregister(array('ComposerAutoloaderInit7662417d43d4b8493b90b39c4f5577a2', 'loadClassLoader'));
$map = require __DIR__ . '/autoload_namespaces.php';
foreach ($map as $namespace => $path) {
$loader->set($namespace, $path);
}
$map = require __DIR__ . '/autoload_psr4.php';
foreach ($map as $namespace => $path) {
$loader->setPsr4($namespace, $path);
}
$classMap = require __DIR__ . '/autoload_classmap.php';
if ($classMap) {
$loader->addClassMap($classMap);
}
$loader->register(true);
return $loader;
}
}

View File

@ -0,0 +1,47 @@
[
{
"name": "sunra/php-simple-html-dom-parser",
"version": "v1.5.0",
"version_normalized": "1.5.0.0",
"source": {
"type": "git",
"url": "https://github.com/sunra/php-simple-html-dom-parser.git",
"reference": "a0b80ace086c7e09085669205e1b3c2c9c7a453c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sunra/php-simple-html-dom-parser/zipball/a0b80ace086c7e09085669205e1b3c2c9c7a453c",
"reference": "a0b80ace086c7e09085669205e1b3c2c9c7a453c",
"shasum": ""
},
"require": {
"php": ">=5.3.2"
},
"time": "2013-05-04 14:32:03",
"type": "library",
"installation-source": "dist",
"autoload": {
"psr-0": {
"Sunra\\PhpSimple\\HtmlDomParser": "Src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "sunra",
"email": "sunra@yandex.ru",
"homepage": "http://github.com/sunra"
}
],
"description": "Composer adaptation of: A HTML DOM parser written in PHP5+ let you manipulate HTML in a very easy way! Require PHP 5+. Supports invalid HTML. Find tags on an HTML page with selectors just like jQuery. Extract contents from HTML in a single line.",
"homepage": "https://github.com/sunra/php-simple-html-dom-parser",
"keywords": [
"dom",
"html",
"parser"
]
}
]

View File

@ -0,0 +1,38 @@
php-simple-html-dom-parser
==========================
Version 1.5
Adaptation for Composer and PSR-0 of:
A HTML DOM parser written in PHP5+ let you manipulate HTML in a very easy way!
Require PHP 5+.
Supports invalid HTML.
Find tags on an HTML page with selectors just like jQuery.
Extract contents from HTML in a single line.
http://simplehtmldom.sourceforge.net/
Install
-------
composer.phar require
- package name: "sunra/php-simple-html-dom-parser": "dev-master"
Usage
-----
```php
use Sunra\PhpSimple\HtmlDomParser;
...
$dom = HtmlDomParser::str_get_html( $str );
or
$dom = HtmlDomParser::file_get_html( $file_name );
$elems = $dom->find($elem_name);
...
```

View File

@ -0,0 +1,20 @@
<?php
// say me who add "О╩©" into start of file?
// Becouse of this 3 symbol before <?php - php get error
// i think it Sublime Text
namespace Sunra\PhpSimple;
require 'simplehtmldom_1_5'.DIRECTORY_SEPARATOR.'simple_html_dom.php';
class HtmlDomParser {
static public function file_get_html() {
return call_user_func_array ( '\file_get_html' , func_get_args() );
}
// get html dom from string
static public function str_get_html() {
return call_user_func_array ( '\str_get_html' , func_get_args() );
}
}

View File

@ -0,0 +1,17 @@
K 25
svn:wc:ra_dav:version-url
V 45
/svnroot/simplehtmldom/!svn/ver/179/trunk/app
END
google.htm
K 25
svn:wc:ra_dav:version-url
V 56
/svnroot/simplehtmldom/!svn/ver/179/trunk/app/google.htm
END
index.php
K 25
svn:wc:ra_dav:version-url
V 55
/svnroot/simplehtmldom/!svn/ver/176/trunk/app/index.php
END

View File

@ -0,0 +1,99 @@
10
dir
182
https://simplehtmldom.svn.sourceforge.net/svnroot/simplehtmldom/trunk/app
https://simplehtmldom.svn.sourceforge.net/svnroot/simplehtmldom
2009-02-23T09:04:02.699587Z
179
me578022
d0e60b4b-9046-0410-940c-b97530268c78
google.htm
file
2010-08-17T19:13:52.500237Z
72a16a066c5a729cd5ddaf6e39082b05
2009-02-23T09:04:02.699587Z
179
me578022
60128
js
dir
index.php
file
2010-08-17T19:13:52.502237Z
3793524c0c846be09274b428d4972b60
2008-12-14T19:02:48.351607Z
176
me578022
4496

View File

@ -0,0 +1,891 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="ctl00_Head1"><title>
FootballScoresLive - Previous Results
</title><meta name="Keywords" content="football,soccer,score,goals,penalty,penalties,red cards,yellow cards,results,england,
english,scotland,scottish,wales,welsh,europe,european,sms,results by sms" /><meta name="Description" content="FootballScoresLive offers continuous updates of scores from football (soccer)
matches in Britain, Europe, North and South America, and Asia, free direct to your web browser,
and by SMS to your mobile." /><link href="page.css" rel="stylesheet" type="text/css" /><link href="news.css" rel="stylesheet" type="text/css" /><link href="results.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="overlib.js"><!-- overLIB (c) Erik Bosrup --></script>
<script type="text/javascript" src="MMfuncs.js"></script>
<script type="text/javascript" src="swfdetect.js"></script>
<script type="text/vbscript" src="swfver.vbs"></script>
<link rel="shortcut icon" href="/favicon.ico" /><style type="text/css">
.atlas__delta { font-family:Lucida Console; }
</style></head>
<body onload="MM_preloadImages('images/buttons/englishNational_hl.jpg','images/buttons/englishLeagues_hl.jpg',
'images/buttons/futureFixtures_hl.jpg','images/buttons/italianLeagues_hl.jpg','images/buttons/leagueTables_hl.jpg','images/buttons/login_hl.jpg','images/buttons/favourites_hl.jpg','images/buttons/personalise_hl.jpg','images/buttons/previousResults_hl.jpg','images/buttons/scottishLeagues_hl.jpg','images/buttons/seasonTicket_hl.jpg','images/buttons/spanishLeagues_hl.jpg','images/buttons/sponsored_hl.jpg','images/buttons/supermarket_hl.jpg','images/buttons/livescores_hl.jpg')"
onunload="MM_callJS('CheckFlash();')">
<div id="overDiv" style="position:absolute; visibility:hidden; z-index:1000;"></div>
<form name="aspnetForm" method="post" action="MatchResults.aspx" id="aspnetForm">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="dB6ayi9LZ+8oLEEG+Bb0EaB7S0yWNAwmwFJYNlmIPIfC1cvZYgBlKWTvoA4O9/nWx6kKCiBPFnSnfWNC5mLsqwKJAqRalzt4zBR7te1bjeJGgN0H2d1aCn3KgK2DLo6jp/xsNAQLvdqugFXdJ+7RvO58WASnJAH4vjnV2vTi6kKfuRGvNvzsfcybchbHQ+T2yUU9pTrLfSRSC6qEw00ANEJLyR8cnnsgTQhOcXFIPwCbFQEljWnQHmV6l+YMt9GeyxuhD7qL+JcVOPkqZ4TROE1TWmVLD8kOwmpEaMwINDlz/veOnNh/HVdabDznCkdFd3yzhpyyx4/mqWqp4GmkbsFyiUvZoKYin/4xf7L1Z0NfMamm3lZZMFpWz8AhmWcL99qa5kcLgjtXMzZvOKn6K/pud0lEVkvl3Kz2jXgzZPxh3qdX4Nx5anjttd6NKyF3wSlfVMk0j8zoZmja8HaqpwZZfSFnn+U7wWO6D9vzZKDJ/nxUbJHqEaLYYz+QD6zWHVfsEi3cZJlit0oOWatl8AjSHKPmFi3oD9jD3K/FiuhYFYkyk07Jpoe/6YvKgeisZaFYDQrqTTVGYul9rQRVRkUc0UVrt7TZJ/d08EXYKhWYRBx2xxQt3Yfbefr45GCComTUGOjml7DVITe9811QIXfgw5GaECa6aBi2hvYSB6gdhFlqrdqi/HK2DTcXFTyN5n749O3MgVJGSQtXP/xsTp3J1t2lOSMlz9hZYwQUDqOpaWZG2Ae8JmzhvdClyw1AxhJolgEGsutAtYhXFc16ihtjYd/JXx47zeBoB8temPCNJwpFmAN3iXV9nhu5RZ6q8hSnpfCBCn756EDnykItEhTStGovLsJG+QdRNsLE56mNtIxFxeAGrwLWJ260+QsRcvimNAERfZtow7Vx/JPMJLfXrvd1G6u0jP/uqJAQPP8WjVUUfAK5yJHi2PzzGTtFDPd7TJenlgzzyzTcPjJKib+W+CRBBboPRnro9659+79nZwYXdbHHDlQiNcBKZfYKohFHSteJRn4/XnUI2MAi+j9a5JfGs7syF7OWjvFCevTrS/toNPaPzM+muJF3/cLQA0kuM/OvaS+9Kj16BCdNfy6mPZMy6pD95xMGomu1adBwKvaTLMmjrt5Kgh5RxGrUf+pl1IoY9u8=" />
<script src="/WebResource.axd?d=OSFApkHgVTFGp_WGnj5w0YyfbDgId8eejj1HHj2udCziBXq1lnucLLMhY2b4ssXravjY6R0n3Xz5xE3pKbfs7VC_WlWODN-9NNOB8qqY6cA1&amp;t=633112977674076250" type="text/javascript"></script>
<script src="/WebResource.axd?d=OSFApkHgVTFGp_WGnj5w0YyfbDgId8eejj1HHj2udCziBXq1lnucLLMhY2b4ssXravjY6R0n3Xz5xE3pKbfs7blAzxonPUmCsga2GgPJUY41&amp;t=633112977674076250" type="text/javascript"></script>
<div>
<table id="Table_01" width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2" rowspan="2" width="394" height="111" >
<a href="LiveScores.aspx">
<img src="images/fsl_logo.jpg" width="394" height="111" border="0" alt="FootballScoresLive logo" /></a></td>
<td height="81" width="100%" valign="middle" background="images/grass_top.jpg" align="center">
<a id="ctl00_lnkScores2Mobile" title="Click here for Live Scores to your mobile" href="live-premiership-football-scores-via-sms.aspx" style="display:inline-block;"><img title="Click here for Live Scores to your mobile" src="images/scores2mobile.jpg" border="0" /></a>
</td>
<td width="174" height="81" align="center" valign="middle" background="images/grass_top.jpg">
<a href="Register.aspx"><img src="images/btn_reg.gif" border="0" /></a>
</td>
</tr>
<tr style="color: yellow;">
<td width="237" height="30" align="center" valign="middle" background="images/visitors_bg.jpg" class="body12">
<strong>
For <span style="color: red">FREE</span> goals to your mobile</strong>
<a id="ctl00_HyperLink1" class="navlink" href="fixtures.aspx">Click Here</a></td>
<td align="center" valign="middle" bgcolor="#000000" class="body12">
<table width=100% border="0" cellpadding="0" cellspacing="0">
<tr style="color: white;">
<td>
<input type="submit" name="ctl00$LoginView5$btnLogin" value="LogIn" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$LoginView5$btnLogin&quot;, &quot;&quot;, false, &quot;&quot;, &quot;login.aspx&quot;, false, false))" id="ctl00_LoginView5_btnLogin" />
</td>
<td>&nbsp;
</td>
</tr>
</table>
</td>
</tr>
<!--
<tr>
<td height="16" colspan="4" bgcolor="#000000">
&nbsp;|&nbsp;<a href="default.aspx" class="navlink">Home</a>
&nbsp;|&nbsp;<a href="live-premiership-football-scores-via-sms.aspx" class="navlink">SMS Service</a>
&nbsp;|&nbsp;<a href="LiveScores.aspx" class="navlink">Live Scores</a>
&nbsp;|&nbsp;<a href="MatchResults.aspx" class="navlink">Previous Results</a>
&nbsp;|&nbsp;<a href="fixtures.aspx" class="navlink">Future Fixtures</a>&nbsp;|&nbsp;
<a id="ctl00_LoginStatus2" class="navlink" href="javascript:__doPostBack('ctl00$LoginStatus2$ctl02','')">Login</a>&nbsp;|&nbsp;
<a href="login/personal.aspx" class="navlink">Personalise</a>&nbsp;|&nbsp;
<br />
</td>
</tr>
-->
<tr height="100%">
<td width="174" align="center" valign="top" background="images/grass_left.jpg">
<!--
<a href="#" onclick='window.external.AddFavorite(location.href,document.title);' class="navlink">
<img src="images/favourites.jpg" border="0"/></a>
-->
<br />
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<a href="#" onclick='window.external.AddFavorite(location.href,document.title);' class="navlink">
<img src="images/buttons/favourites.jpg" border="0" alt="Add this page to your favourites" name="fav" width="165" height="21" onmouseover="MM_swapImage('fav','','images/buttons/favourites_hl.jpg',1)" onmouseout="MM_swapImgRestore()" />
</a>
</td>
</tr>
<tr>
<td><img src="images/buttons/seasonTicket.jpg" border="0" alt="Season Ticket Goal Alerts - coming soon" name="season" width="166" height="22" onmouseover="MM_swapImage('season','','images/buttons/seasonTicket_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></td>
</tr>
<tr>
<td><img src="images/buttons/mobile.jpg" border="0" alt="Mobile Goal Alerts" name="mobile" width="166" height="20" /></td>
</tr>
<tr>
<td><a href="live-premiership-football-scores-via-sms.aspx">
<img src="images/buttons/englishLeagues.jpg" alt="English Leagues" name="engLg" width="166" height="19" border="0" onmouseover="MM_swapImage('engLg','','images/buttons/englishLeagues_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></a></td>
</tr>
<tr>
<td><img src="images/buttons/englishNational.jpg" border="0" alt="English National Team - coming soon" name="engNat" width="166" height="18" onmouseover="MM_swapImage('engNat','','images/buttons/englishNational_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></td>
</tr>
<tr>
<td>
<a href="live-scottish-premier-league-football-scores-via-sms.aspx">
<img src="images/buttons/scottishLeagues.jpg" border="0" alt="Scottish Leagues" name="scotLg" width="166" height="18" onmouseover="MM_swapImage('scotLg','','images/buttons/scottishLeagues_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></a></td>
</tr>
<tr>
<td>
<a href="live-spain-football-scores-via-sms.aspx">
<img src="images/buttons/spanishLeagues.jpg" border="0" alt="Spanish Leagues" name="spanLg" width="166" height="18" onmouseover="MM_swapImage('spanLg','','images/buttons/spanishLeagues_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></a></td>
</tr>
<tr>
<td>
<a href="live-italy-football-scores-via-sms.aspx">
<img src="images/buttons/italianLeagues.jpg" border="0" alt="Italian Leagues" name="italLg" width="166" height="18" onmouseover="MM_swapImage('italLg','','images/buttons/italianLeagues_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></a></td>
</tr>
<tr>
<td><a href="LiveScores.aspx"><img src="images/buttons/livescores.jpg" border="0" alt="Live Scores" name="world" width="166" height="20" onmouseover="MM_swapImage('world','','images/buttons/livescores_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></a></td>
</tr>
<tr>
<td><img src="images/buttons/supermarket.jpg" border="0" alt="Football Supermarket - coming soon" name="super" width="166" height="20" onmouseover="MM_swapImage('super','','images/buttons/supermarket_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></td>
</tr>
<tr>
<td><a href="MatchResults.aspx"><img src="images/buttons/previousResults.jpg" border="0" alt="Previous Results" name="prev" width="166" height="20" onmouseover="MM_swapImage('prev','','images/buttons/previousResults_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></a></td>
</tr>
<tr>
<td><a href="fixtures.aspx"><img src="images/buttons/futureFixtures.jpg" border="0" alt="Future Fixtures" name="future" width="166" height="20" onmouseover="MM_swapImage('future','','images/buttons/futureFixtures_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></a></td>
</tr>
<tr>
<td><img src="images/buttons/leagueTables.jpg" border="0" alt="League Tables - coming soon" name="lgTbl" width="166" height="20" onmouseover="MM_swapImage('lgTbl','','images/buttons/leagueTables_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></td>
</tr>
<tr>
<td><img src="images/buttons/sponsored.jpg" border="0" alt="Sponsored Links - coming soon" name="spons" width="166" height="20" onmouseover="MM_swapImage('spons','','images/buttons/sponsored_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><img src="images/buttons/personalise.jpg" border="0" alt="Personalise" name="pers" width="166" height="20" onmouseover="MM_swapImage('pers','','images/buttons/personalise_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></td>
</tr>
<tr>
<td>
<input id="ctl00_LoginStatus1" type="image" name="ctl00$LoginStatus1$ctl03" class="navlink" src="images/buttons/login.jpg" alt="Login" border="0" />
</tr>
<tr>
<td>
<br />
</td>
</tr>
</table>
<a href="fixtures.aspx">
<img src="images/fsl_phone_static.jpg" width="130" height="238" border="0" />
</a>
<div id="ctl00_FixtureSelectPanel">
<table border="0" cellpadding="0" cellspacing="0">
<tr style="background-color:Black; color:Green">
<td colspan="2">
<img id="ctl00_Image1" src="images/fixtures.jpg" border="0" /></td>
</tr>
<tr style="background-color:White">
<td align="left">
<select name="ctl00$FixtureDropDown" id="ctl00_FixtureDropDown" title="Choose the date you want to see the fixtures" class="body">
<option value="18/12/2008 00:00:00">18/12/2008</option>
<option value="19/12/2008 00:00:00">19/12/2008</option>
<option value="20/12/2008 00:00:00">20/12/2008</option>
<option value="21/12/2008 00:00:00">21/12/2008</option>
<option value="22/12/2008 00:00:00">22/12/2008</option>
<option value="23/12/2008 00:00:00">23/12/2008</option>
<option value="26/12/2008 00:00:00">26/12/2008</option>
<option value="27/12/2008 00:00:00">27/12/2008</option>
<option value="28/12/2008 00:00:00">28/12/2008</option>
<option value="29/12/2008 00:00:00">29/12/2008</option>
<option value="30/12/2008 00:00:00">30/12/2008</option>
<option value="01/01/2009 00:00:00">01/01/2009</option>
<option value="02/01/2009 00:00:00">02/01/2009</option>
</select>
</td>
<td align="right">
<input type="image" name="ctl00$FixtureButton" id="ctl00_FixtureButton" title="Click to see the fixtures on your chosen date" src="images/go.gif" align="absmiddle" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$FixtureButton&quot;, &quot;&quot;, false, &quot;&quot;, &quot;fixtures.aspx&quot;, false, false))" border="0" />
</td>
</tr>
</table>
</div>
<br />
<div style="text-align: center">
<table border="0" cellpadding="2" cellspacing="0">
<tr>
<td>
<a href="live-premiership-football-scores-via-sms.aspx">
<img src="images/flags2/england.jpg" border="0" alt="English Leagues goal alerts by SMS" /></a></td>
<td>
<a href="live-scottish-premier-league-football-scores-via-sms.aspx">
<img src="images/flags2/scotland.jpg" border="0" alt="Scottish Leagues goal alerts by SMS" /></a></td>
<td>
<a href="live-spain-football-scores-via-sms.aspx">
<img src="images/flags2/Spain.jpg" border="0" alt="Spanish Leagues goal alerts by SMS" /></a></td>
<td>
<a href="live-italy-football-scores-via-sms.aspx">
<img src="images/flags2/Italy.jpg" border="0" alt="Italian Leagues goal alerts by SMS" /></a></td>
</tr>
</table>
</div>
<br />
<img src="images/status.gif" width="110" height="127" /><br />
<br />
<img src="images/events.gif" width="110" height="115" /><br />
</td>
<td width="100%" colspan="2" align="center" valign="top">
<div id="ctl00_ContentPlaceHolder1_UpdatePanel1">
<h1>Historical Football Archive - Updated Daily!</h1>
<br />
<p class="body12">Missed the details of your football club's latest performance?
Whether you support Manchester United or Cambridge United, Premiership club or Conference club,
you will find it all here, with our fantastic soccer library of results over the last two weeks.
These pages contain the history & detailed results package for every football game from around the world
from the last 14 match days, including not only every goal scored, but, game results, names of goal scorer,
match results, red cards and plenty more! This service is automatically updated every 24 hours,
simply select a date from the drop down menu :-
</p>
<select name="ctl00$ContentPlaceHolder1$DropDownList1" id="ctl00_ContentPlaceHolder1_DropDownList1">
<option selected="selected" value="17/12/2008 00:00:00">Wed 17/12/2008</option>
<option value="16/12/2008 00:00:00">Tue 16/12/2008</option>
<option value="15/12/2008 00:00:00">Mon 15/12/2008</option>
<option value="14/12/2008 00:00:00">Sun 14/12/2008</option>
<option value="13/12/2008 00:00:00">Sat 13/12/2008</option>
<option value="12/12/2008 00:00:00">Fri 12/12/2008</option>
<option value="11/12/2008 00:00:00">Thu 11/12/2008</option>
<option value="10/12/2008 00:00:00">Wed 10/12/2008</option>
<option value="09/12/2008 00:00:00">Tue 09/12/2008</option>
<option value="08/12/2008 00:00:00">Mon 08/12/2008</option>
<option value="07/12/2008 00:00:00">Sun 07/12/2008</option>
<option value="06/12/2008 00:00:00">Sat 06/12/2008</option>
<option value="05/12/2008 00:00:00">Fri 05/12/2008</option>
<option value="04/12/2008 00:00:00">Thu 04/12/2008</option>
</select>
<br /><br />
<table border="1" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="text-align: left" class="header">
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl00_CompGames1_lblCompName">&nbsp;SCOTLAND - DIVISION 2</span></td>
</tr>
<tr>
<td>
<div>
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl00_CompGames1_GridView1" width="100%">
<tr class="header" align="left">
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
</tr><tr class="row">
<td>
19:45
</td><td>Pst </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">STRANRAER</td><td align="right">0</td><td align="left">0</td><td align="left">PETERHEAD</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="left">
&nbsp;
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<br />
<table border="1" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="text-align: left" class="header">
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl01_CompGames1_lblCompName">&nbsp;ENGLAND - FA TROPHY - FIRST ROUND</span></td>
</tr>
<tr>
<td>
<div>
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl01_CompGames1_GridView1" width="100%">
<tr class="header" align="left">
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
</tr><tr class="row">
<td>
19:45
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">SWINDON SUPERMARINE</td><td align="right">1</td><td align="left">0</td><td align="left">EASTBOURNE BOROUGH</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table border=0 cellpadding=2 cellspacing=0 width=250><tr align=left bgcolor=#ffffff><td><img src=\'images/info.gif\' /><b>Match information</b></td></tr><tr><td>Replayed if draw.</td></tr></table>',HAUTO,VAUTO,WIDTH,250);" onmouseout="return nd();"><img src="images/info.gif" border="0" /></a>
</td><td align="left">
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>74</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>EDENBOROUGH</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">74<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">EDENBOROUGH</a>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<br />
<table border="1" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="text-align: left" class="header">
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl02_CompGames1_lblCompName">&nbsp;EUROPE (UEFA) - UEFA CUP - GROUP STAGE</span></td>
</tr>
<tr>
<td>
<div>
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl02_CompGames1_GridView1" width="100%">
<tr class="header" align="left">
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
</tr><tr class="row">
<td>
19:45
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">AC MILAN</td><td align="right">2</td><td align="left">2</td><td align="left">VfL WOLFSBURG</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="left">
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>17</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>AMBROSINI</td></tr><tr><td>56</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>PATO</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>55</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>ZACCARDO</td></tr><tr><td>81</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>SAGLIK</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">81<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">SAGLIK</a>
</td>
</tr><tr class="row_alt">
<td>
19:45
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td bgcolor="Red">
1
</td><td>
&nbsp;
</td><td align="right">AJAX</td><td align="right">2</td><td align="left">2</td><td align="left">SLAVIA PRAHA</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="left">
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>4</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>VERTONGHEN</td></tr><tr><td>90</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball-pen.gif\' alt=\'penalty\'></td><td nowrap=nowrap>SUAREZ</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>13</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>CERNY</td></tr><tr><td>41</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>JAROLIM</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">90<img align="top" width="17" height="16" border="0" src="images/ball-pen.gif" alt="penalty">SUAREZ</a>
</td>
</tr><tr class="row">
<td>
19:45
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">CLUB BRUGGE</td><td align="right">0</td><td align="left">1</td><td align="left">FC COPENHAGEN</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="left">
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>58</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>SANTIN</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">58<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">SANTIN</a>
</td>
</tr><tr class="row_alt">
<td>
19:45
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">DEP. LA CORUNA</td><td align="right">1</td><td align="left">0</td><td align="left">NANCY</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="left">
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>74</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>BODIPO</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">74<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">BODIPO</a>
</td>
</tr><tr class="row">
<td>
19:45
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">FEYENOORD</td><td align="right">0</td><td align="left">1</td><td align="left">LECH POZNAN</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="left">
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>26</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>DJURDJEVIC</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">26<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">DJURDJEVIC</a>
</td>
</tr><tr class="row_alt">
<td>
19:45
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">HAMBURGER SV</td><td align="right">3</td><td align="left">1</td><td align="left">ASTON VILLA</td><td bgcolor="Red">
1
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="left">
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>18</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>PETRIC</td></tr><tr><td>30</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>OLIC</td></tr><tr><td>57</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>OLIC</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>82</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>DELFOUNESO</td></tr><tr><td>84</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/redcard.gif\' alt=\'red card\'></td><td nowrap=nowrap>SIDWELL</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">84<img align="top" width="17" height="16" border="0" src="images/redcard.gif" alt="red card">SIDWELL</a>
</td>
</tr><tr class="row">
<td>
19:45
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">PORTSMOUTH</td><td align="right">3</td><td align="left">0</td><td align="left">HEERENVEEN</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="left">
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>40</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>CROUCH</td></tr><tr><td>42</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>CROUCH</td></tr><tr><td>90</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>HREIDARSSON</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">90<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">HREIDARSSON</a>
</td>
</tr><tr class="row_alt">
<td>
19:45
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">ST ETIENNE</td><td align="right">2</td><td align="left">2</td><td align="left">VALENCIA</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="left">
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>29</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>ILAN</td></tr><tr><td>44</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>ILAN</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>33</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>MORIENTES</td></tr><tr><td>72</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>ZIGIC</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">72<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">ZIGIC</a>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<br />
<table border="1" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="text-align: left" class="header">
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl03_CompGames1_lblCompName">&nbsp;INTERNATIONAL TOURNAMENTS - OMAN FOUR NATIONS TOUR</span></td>
</tr>
<tr>
<td>
<div>
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl03_CompGames1_GridView1" width="100%">
<tr class="header" align="left">
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
</tr><tr class="row">
<td>
14:00
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">OMAN</td><td align="right">3</td><td align="left">1</td><td align="left">CHINA</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table border=0 cellpadding=2 cellspacing=0 width=250><tr align=left bgcolor=#ffffff><td><img src=\'images/info.gif\' /><b>Match information</b></td></tr><tr><td>Knock out.</td></tr></table>',HAUTO,VAUTO,WIDTH,250);" onmouseout="return nd();"><img src="images/info.gif" border="0" /></a>
</td><td align="left">
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>47</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>BASHEER</td></tr><tr><td>74</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>SALEH</td></tr><tr><td>84</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>SALEH</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>53</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>BO</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">84<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">SALEH</a>
</td>
</tr><tr class="row_alt">
<td>
16:30
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">ECUADOR</td><td align="right">1</td><td align="left">0</td><td align="left">IRAN</td><td bgcolor="Red">
1
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table border=0 cellpadding=2 cellspacing=0 width=250><tr align=left bgcolor=#ffffff><td><img src=\'images/info.gif\' /><b>Match information</b></td></tr><tr><td>Knock out.</td></tr></table>',HAUTO,VAUTO,WIDTH,250);" onmouseout="return nd();"><img src="images/info.gif" border="0" /></a>
</td><td align="left">
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>55</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>MARTINEZ</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>90</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/redcard.gif\' alt=\'red card\'></td><td nowrap=nowrap>NEJAD</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">90<img align="top" width="17" height="16" border="0" src="images/redcard.gif" alt="red card">NEJAD</a>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<br />
<table border="1" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="text-align: left" class="header">
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl04_CompGames1_lblCompName">&nbsp;ITALY - FA CUP - ROUND 16</span></td>
</tr>
<tr>
<td>
<div>
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl04_CompGames1_GridView1" width="100%">
<tr class="header" align="left">
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
</tr><tr class="row">
<td>
16:00
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">FIORENTINA</td><td align="right">0</td><td align="left">1</td><td align="left">TORINO</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table border=0 cellpadding=2 cellspacing=0 width=250><tr align=left bgcolor=#ffffff><td><img src=\'images/info.gif\' /><b>Match information</b></td></tr><tr><td>Knock out.</td></tr></table>',HAUTO,VAUTO,WIDTH,250);" onmouseout="return nd();"><img src="images/info.gif" border="0" /></a>
</td><td align="left">
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>19</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>BIANCHI</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">19<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">BIANCHI</a>
</td>
</tr><tr class="row_alt">
<td>
20:00
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">ROMA</td><td align="right">2</td><td align="left">0</td><td align="left">BOLOGNA</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table border=0 cellpadding=2 cellspacing=0 width=250><tr align=left bgcolor=#ffffff><td><img src=\'images/info.gif\' /><b>Match information</b></td></tr><tr><td>Knock out.</td></tr></table>',HAUTO,VAUTO,WIDTH,250);" onmouseout="return nd();"><img src="images/info.gif" border="0" /></a>
</td><td align="left">
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>82</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>VUCINIC</td></tr><tr><td>86</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>VUCINIC</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">86<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">VUCINIC</a>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<br />
<table border="1" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="text-align: left" class="header">
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl05_CompGames1_lblCompName">&nbsp;ITALY - SERIE C1A</span></td>
</tr>
<tr>
<td>
<div>
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl05_CompGames1_GridView1" width="100%">
<tr class="header" align="left">
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
</tr><tr class="row">
<td>
13:30
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">PRO SESTO</td><td align="right">0</td><td align="left">0</td><td align="left">LECCO</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="left">
&nbsp;
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<br />
<table border="1" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="text-align: left" class="header">
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl06_CompGames1_lblCompName">&nbsp;ITALY - SERIE C2A</span></td>
</tr>
<tr>
<td>
<div>
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl06_CompGames1_GridView1" width="100%">
<tr class="header" align="left">
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
</tr><tr class="row">
<td>
13:30
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">MEZZOCORONA</td><td align="right">1</td><td align="left">3</td><td align="left">SAMBONIFACESE</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="left">
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>55</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>&nbsp;</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>48</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>&nbsp;</td></tr><tr><td>66</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>&nbsp;</td></tr><tr><td>74</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>&nbsp;</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">74<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">&nbsp;</a>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<br />
<table border="1" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="text-align: left" class="header">
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl07_CompGames1_lblCompName">&nbsp;SCOTLAND - FA CUP - THIRD ROUND</span></td>
</tr>
<tr>
<td>
<div>
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl07_CompGames1_GridView1" width="100%">
<tr class="header" align="left">
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
</tr><tr class="row">
<td>
13:30
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">LOCHEE UTD</td><td align="right">1</td><td align="left">1</td><td align="left">AYR UTD</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table border=0 cellpadding=2 cellspacing=0 width=250><tr align=left bgcolor=#ffffff><td><img src=\'images/info.gif\' /><b>Match information</b></td></tr><tr><td>Replayed if draw.</td></tr></table>',HAUTO,VAUTO,WIDTH,250);" onmouseout="return nd();"><img src="images/info.gif" border="0" /></a>
</td><td align="left">
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>86</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>HAGAN</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>60</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>WILLIAMS</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">86<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">HAGAN</a>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<br />
<table border="1" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="text-align: left" class="header">
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl08_CompGames1_lblCompName">&nbsp;WORLD (FIFA) - FIFA CLUB WORLD CHAMPIONSHIP - SEMI</span></td>
</tr>
<tr>
<td>
<div>
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl08_CompGames1_GridView1" width="100%">
<tr class="header" align="left">
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
</tr><tr class="row">
<td>
10:30
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">PACHUCA (MEX)</td><td align="right">0</td><td align="left">2</td><td align="left">LIGA D.U. QUITO(ECU)</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table border=0 cellpadding=2 cellspacing=0 width=250><tr align=left bgcolor=#ffffff><td><img src=\'images/info.gif\' /><b>Match information</b></td></tr><tr><td>Playing at Tokyo, Japan. Knock out.</td></tr></table>',HAUTO,VAUTO,WIDTH,250);" onmouseout="return nd();"><img src="images/info.gif" border="0" /></a>
</td><td align="left">
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>4</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>BIELER</td></tr><tr><td>26</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>BOLANOS</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">26<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">BOLANOS</a>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<br />
</div>
<table border="0" cellpadding="5" cellspacing="0" style="width: 100%; height: 100%">
<tr class="newslinkspace">
<td style="width: 100%">
View complete <a href="ResultsArchive.aspx" class="newslink">archive of FootballScoresLive.com Match Results</a>
</td>
</tr>
</table>
</td>
<td width="125" align="right" valign="top">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="120" height="600">
<param name="movie" value="http://www.footballscoreslive.com/images/fslSMSNew.swf" />
<param name="quality" value="high" />
<embed src="http://www.footballscoreslive.com/images/fslSMSNew.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="120" height="600"></embed>
</object>
<script type="text/javascript"><!--
google_ad_client = "pub-1398285862595543";
google_ad_width = 120;
google_ad_height = 600;
google_ad_format = "120x600_as";
google_ad_type = "text_image";
google_ad_channel ="";
google_color_border = "336699";
google_color_bg = "FFFFFF";
google_color_link = "0000FF";
google_color_text = "000000";
google_color_url = "008000";
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td>
</tr>
<tr>
<td>
<img src="images/spacer.gif" width="174" height="1" alt="" /></td>
<td>
<img src="images/spacer.gif" width="220" height="1" alt="" /></td>
<td>
<img src="images/spacer.gif" width="281" height="1" alt="" /></td>
<td>
<img src="images/spacer.gif" width="125" height="1" alt="" /></td>
</tr>
<tr>
<td height="16" colspan="4" bgcolor="#000000">
&nbsp;|&nbsp;
<a class="navlink" href="disclaimer.aspx">Disclaimer</a>&nbsp;|&nbsp;
<a class="navlink" href="privacy.aspx">Privacy</a>&nbsp;|&nbsp;
<a href="aboutus.aspx" class="navlink">About Us</a>&nbsp;|&nbsp;
<a href="NewsArchive.aspx" class="navlink">News Archive</a>&nbsp;|&nbsp;
</td>
</tr>
</table>
</div>
<input type="hidden" name="__PREVIOUSPAGE" id="__PREVIOUSPAGE" value="Xh65BZM36Ruds-iXM2l7LB-dXtc__8RpYzxQLE4V_YQ1" />
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="2ybQ+H9cPYUzPPi/5ComPVhU+jAYPdxVR+fOu2ZZbs2RxuAweOrbEg/qP5f+1OYLQI+oQJb98YQDTTMw+x86m7Np3/NYQHDjzX76RjJfW9nS6SnJVUi1nLHSh9c7wgfVB7UNjywCsU0hiMY1IUsYkR/rClTQE4j3Q4a4ub3Cqrn+b7fY3itatSObxb3L0Pq9E9vx/RpYI3jhA2RPCnO1WEQF2kEBAba5qqLwESWolSSdLqs5DRta8kholg0zw5EA5/R9+XiPqWwbk4n/TnTtdMwQq2iExD4eyjsLsE7bWnw=" />
<script type="text/xml-script">
<page xmlns:script="http://schemas.microsoft.com/xml-script/2005">
<components>
<pageRequestManager id="_PageRequestManager" updatePanelIDs="ctl00$ContentPlaceHolder1$UpdatePanel1" asyncPostbackControlIDs="ctl00_ContentPlaceHolder1_DropDownList1" scriptManagerID="ctl00$ContentPlaceHolder1$ScriptManager1" form="aspnetForm" />
</components>
</page></script>
<script type="text/javascript">
</script>
</form>
</body>
</html>

View File

@ -0,0 +1,144 @@
<?php
error_reporting(E_ALL);
include_once('../simple_html_dom.php');
$html = file_get_html('google.htm');
//$html = file_get_html('youtube.htm');
//$html = file_get_html('Product.ibatis.xml');
$lang = '';
$l=$html->find('html', 0);
if ($l!==null)
$lang = $l->lang;
if ($lang!='')
$lang = 'lang="'.$lang.'"';
$charset = $html->find('meta[http-equiv*=content-type]', 0);
$target = array();
$query = '';
if (isset($_REQUEST['query'])) {
$query = $_REQUEST['query'];
$target = $html->find($query);
}
function stat_dom($dom) {
$count_text = 0;
$count_comm = 0;
$count_elem = 0;
$count_tag_end = 0;
$count_unknown = 0;
foreach($dom->nodes as $n) {
if ($n->nodetype==HDOM_TYPE_TEXT)
++$count_text;
if ($n->nodetype==HDOM_TYPE_COMMENT)
++$count_comm;
if ($n->nodetype==HDOM_TYPE_ELEMENT)
++$count_elem;
if ($n->nodetype==HDOM_TYPE_ENDTAG)
++$count_tag_end;
if ($n->nodetype==HDOM_TYPE_UNKNOWN)
++$count_unknown;
}
echo 'Total: '. count($dom->nodes).
', Text: '.$count_text.
', Commnet: '.$count_comm.
', Tag: '.$count_elem.
', End Tag: '.$count_tag_end.
', Unknown: '.$count_unknown;
}
function dump_my_html_tree($node, $show_attr=true, $deep=0, $last=true) {
$count = count($node->nodes);
if ($count>0) {
if($last)
echo '<li class="expandable lastExpandable"><div class="hitarea expandable-hitarea lastExpandable-hitarea"></div>&lt;<span class="tag">'.htmlspecialchars($node->tag).'</span>';
else
echo '<li class="expandable"><div class="hitarea expandable-hitarea"></div>&lt;<span class="tag">'.htmlspecialchars($node->tag).'</span>';
}
else {
$laststr = ($last===false) ? '' : ' class="last"';
echo '<li'.$laststr.'>&lt;<span class="tag">'.htmlspecialchars($node->tag).'</span>';
}
if ($show_attr) {
foreach($node->attr as $k=>$v) {
echo ' '.htmlspecialchars($k).'="<span class="attr">'.htmlspecialchars($node->$k).'</span>"';
}
}
echo '&gt;';
if ($node->tag==='text' || $node->tag==='comment') {
echo htmlspecialchars($node->innertext);
return;
}
if ($count>0) echo "\n<ul style=\"display: none;\">\n";
$i=0;
foreach($node->nodes as $c) {
$last = (++$i==$count) ? true : false;
dump_my_html_tree($c, $show_attr, $deep+1, $last);
}
if ($count>0)
echo "</ul>\n";
//if ($count>0) echo '&lt;/<span class="attr">'.htmlspecialchars($node->tag).'</span>&gt;';
echo "</li>\n";
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html <?=$lang?>>
<head>
<?
if ($lang!='')
echo '<meta http-equiv="content-type" content="text/html; charset=utf-8"/>';
else if ($charset)
echo $charset;
else
echo '<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>';
?>
<title>Simple HTML DOM Query Test</title>
<link rel="stylesheet" href="js/jquery.treeview.css" />
<link rel="stylesheet" href="js/screen.css" />
<style>
.tag { color: blue; }
.attr { color: #990033; }
</style>
<script src="js/jquery.js" type="text/javascript"></script>
<script src="js/jquery.treeview.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#html_tree").treeview({
control:"#sidetreecontrol",
collapsed: true,
prerendered: true
});
});
</script>
</head>
<body>
<div id="main">
<h4>Simple HTML DOM Test</h4>
<form name="form1" method="post" action="">
find: <input name="query" type="text" size="60" maxlength="60" value="<?=htmlspecialchars($query)?>">
<input type="submit" name="Submit" value="Go">
</form>
<br>
HTML STAT (<?stat_dom($html);?>)<br>
<br>
<div id="sidetreecontrol"><a href="?#">Collapse All</a> | <a href="?#">Expand All</a></div><br>
<ul class="treeview" id="html_tree">
<?
ob_start();
foreach($target as $e)
dump_my_html_tree($e, true);
ob_end_flush();
?>
</ul>
</div>
</body></html>

View File

@ -0,0 +1,891 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="ctl00_Head1"><title>
FootballScoresLive - Previous Results
</title><meta name="Keywords" content="football,soccer,score,goals,penalty,penalties,red cards,yellow cards,results,england,
english,scotland,scottish,wales,welsh,europe,european,sms,results by sms" /><meta name="Description" content="FootballScoresLive offers continuous updates of scores from football (soccer)
matches in Britain, Europe, North and South America, and Asia, free direct to your web browser,
and by SMS to your mobile." /><link href="page.css" rel="stylesheet" type="text/css" /><link href="news.css" rel="stylesheet" type="text/css" /><link href="results.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="overlib.js"><!-- overLIB (c) Erik Bosrup --></script>
<script type="text/javascript" src="MMfuncs.js"></script>
<script type="text/javascript" src="swfdetect.js"></script>
<script type="text/vbscript" src="swfver.vbs"></script>
<link rel="shortcut icon" href="/favicon.ico" /><style type="text/css">
.atlas__delta { font-family:Lucida Console; }
</style></head>
<body onload="MM_preloadImages('images/buttons/englishNational_hl.jpg','images/buttons/englishLeagues_hl.jpg',
'images/buttons/futureFixtures_hl.jpg','images/buttons/italianLeagues_hl.jpg','images/buttons/leagueTables_hl.jpg','images/buttons/login_hl.jpg','images/buttons/favourites_hl.jpg','images/buttons/personalise_hl.jpg','images/buttons/previousResults_hl.jpg','images/buttons/scottishLeagues_hl.jpg','images/buttons/seasonTicket_hl.jpg','images/buttons/spanishLeagues_hl.jpg','images/buttons/sponsored_hl.jpg','images/buttons/supermarket_hl.jpg','images/buttons/livescores_hl.jpg')"
onunload="MM_callJS('CheckFlash();')">
<div id="overDiv" style="position:absolute; visibility:hidden; z-index:1000;"></div>
<form name="aspnetForm" method="post" action="MatchResults.aspx" id="aspnetForm">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="dB6ayi9LZ+8oLEEG+Bb0EaB7S0yWNAwmwFJYNlmIPIfC1cvZYgBlKWTvoA4O9/nWx6kKCiBPFnSnfWNC5mLsqwKJAqRalzt4zBR7te1bjeJGgN0H2d1aCn3KgK2DLo6jp/xsNAQLvdqugFXdJ+7RvO58WASnJAH4vjnV2vTi6kKfuRGvNvzsfcybchbHQ+T2yUU9pTrLfSRSC6qEw00ANEJLyR8cnnsgTQhOcXFIPwCbFQEljWnQHmV6l+YMt9GeyxuhD7qL+JcVOPkqZ4TROE1TWmVLD8kOwmpEaMwINDlz/veOnNh/HVdabDznCkdFd3yzhpyyx4/mqWqp4GmkbsFyiUvZoKYin/4xf7L1Z0NfMamm3lZZMFpWz8AhmWcL99qa5kcLgjtXMzZvOKn6K/pud0lEVkvl3Kz2jXgzZPxh3qdX4Nx5anjttd6NKyF3wSlfVMk0j8zoZmja8HaqpwZZfSFnn+U7wWO6D9vzZKDJ/nxUbJHqEaLYYz+QD6zWHVfsEi3cZJlit0oOWatl8AjSHKPmFi3oD9jD3K/FiuhYFYkyk07Jpoe/6YvKgeisZaFYDQrqTTVGYul9rQRVRkUc0UVrt7TZJ/d08EXYKhWYRBx2xxQt3Yfbefr45GCComTUGOjml7DVITe9811QIXfgw5GaECa6aBi2hvYSB6gdhFlqrdqi/HK2DTcXFTyN5n749O3MgVJGSQtXP/xsTp3J1t2lOSMlz9hZYwQUDqOpaWZG2Ae8JmzhvdClyw1AxhJolgEGsutAtYhXFc16ihtjYd/JXx47zeBoB8temPCNJwpFmAN3iXV9nhu5RZ6q8hSnpfCBCn756EDnykItEhTStGovLsJG+QdRNsLE56mNtIxFxeAGrwLWJ260+QsRcvimNAERfZtow7Vx/JPMJLfXrvd1G6u0jP/uqJAQPP8WjVUUfAK5yJHi2PzzGTtFDPd7TJenlgzzyzTcPjJKib+W+CRBBboPRnro9659+79nZwYXdbHHDlQiNcBKZfYKohFHSteJRn4/XnUI2MAi+j9a5JfGs7syF7OWjvFCevTrS/toNPaPzM+muJF3/cLQA0kuM/OvaS+9Kj16BCdNfy6mPZMy6pD95xMGomu1adBwKvaTLMmjrt5Kgh5RxGrUf+pl1IoY9u8=" />
<script src="/WebResource.axd?d=OSFApkHgVTFGp_WGnj5w0YyfbDgId8eejj1HHj2udCziBXq1lnucLLMhY2b4ssXravjY6R0n3Xz5xE3pKbfs7VC_WlWODN-9NNOB8qqY6cA1&amp;t=633112977674076250" type="text/javascript"></script>
<script src="/WebResource.axd?d=OSFApkHgVTFGp_WGnj5w0YyfbDgId8eejj1HHj2udCziBXq1lnucLLMhY2b4ssXravjY6R0n3Xz5xE3pKbfs7blAzxonPUmCsga2GgPJUY41&amp;t=633112977674076250" type="text/javascript"></script>
<div>
<table id="Table_01" width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2" rowspan="2" width="394" height="111" >
<a href="LiveScores.aspx">
<img src="images/fsl_logo.jpg" width="394" height="111" border="0" alt="FootballScoresLive logo" /></a></td>
<td height="81" width="100%" valign="middle" background="images/grass_top.jpg" align="center">
<a id="ctl00_lnkScores2Mobile" title="Click here for Live Scores to your mobile" href="live-premiership-football-scores-via-sms.aspx" style="display:inline-block;"><img title="Click here for Live Scores to your mobile" src="images/scores2mobile.jpg" border="0" /></a>
</td>
<td width="174" height="81" align="center" valign="middle" background="images/grass_top.jpg">
<a href="Register.aspx"><img src="images/btn_reg.gif" border="0" /></a>
</td>
</tr>
<tr style="color: yellow;">
<td width="237" height="30" align="center" valign="middle" background="images/visitors_bg.jpg" class="body12">
<strong>
For <span style="color: red">FREE</span> goals to your mobile</strong>
<a id="ctl00_HyperLink1" class="navlink" href="fixtures.aspx">Click Here</a></td>
<td align="center" valign="middle" bgcolor="#000000" class="body12">
<table width=100% border="0" cellpadding="0" cellspacing="0">
<tr style="color: white;">
<td>
<input type="submit" name="ctl00$LoginView5$btnLogin" value="LogIn" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$LoginView5$btnLogin&quot;, &quot;&quot;, false, &quot;&quot;, &quot;login.aspx&quot;, false, false))" id="ctl00_LoginView5_btnLogin" />
</td>
<td>&nbsp;
</td>
</tr>
</table>
</td>
</tr>
<!--
<tr>
<td height="16" colspan="4" bgcolor="#000000">
&nbsp;|&nbsp;<a href="default.aspx" class="navlink">Home</a>
&nbsp;|&nbsp;<a href="live-premiership-football-scores-via-sms.aspx" class="navlink">SMS Service</a>
&nbsp;|&nbsp;<a href="LiveScores.aspx" class="navlink">Live Scores</a>
&nbsp;|&nbsp;<a href="MatchResults.aspx" class="navlink">Previous Results</a>
&nbsp;|&nbsp;<a href="fixtures.aspx" class="navlink">Future Fixtures</a>&nbsp;|&nbsp;
<a id="ctl00_LoginStatus2" class="navlink" href="javascript:__doPostBack('ctl00$LoginStatus2$ctl02','')">Login</a>&nbsp;|&nbsp;
<a href="login/personal.aspx" class="navlink">Personalise</a>&nbsp;|&nbsp;
<br />
</td>
</tr>
-->
<tr height="100%">
<td width="174" align="center" valign="top" background="images/grass_left.jpg">
<!--
<a href="#" onclick='window.external.AddFavorite(location.href,document.title);' class="navlink">
<img src="images/favourites.jpg" border="0"/></a>
-->
<br />
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<a href="#" onclick='window.external.AddFavorite(location.href,document.title);' class="navlink">
<img src="images/buttons/favourites.jpg" border="0" alt="Add this page to your favourites" name="fav" width="165" height="21" onmouseover="MM_swapImage('fav','','images/buttons/favourites_hl.jpg',1)" onmouseout="MM_swapImgRestore()" />
</a>
</td>
</tr>
<tr>
<td><img src="images/buttons/seasonTicket.jpg" border="0" alt="Season Ticket Goal Alerts - coming soon" name="season" width="166" height="22" onmouseover="MM_swapImage('season','','images/buttons/seasonTicket_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></td>
</tr>
<tr>
<td><img src="images/buttons/mobile.jpg" border="0" alt="Mobile Goal Alerts" name="mobile" width="166" height="20" /></td>
</tr>
<tr>
<td><a href="live-premiership-football-scores-via-sms.aspx">
<img src="images/buttons/englishLeagues.jpg" alt="English Leagues" name="engLg" width="166" height="19" border="0" onmouseover="MM_swapImage('engLg','','images/buttons/englishLeagues_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></a></td>
</tr>
<tr>
<td><img src="images/buttons/englishNational.jpg" border="0" alt="English National Team - coming soon" name="engNat" width="166" height="18" onmouseover="MM_swapImage('engNat','','images/buttons/englishNational_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></td>
</tr>
<tr>
<td>
<a href="live-scottish-premier-league-football-scores-via-sms.aspx">
<img src="images/buttons/scottishLeagues.jpg" border="0" alt="Scottish Leagues" name="scotLg" width="166" height="18" onmouseover="MM_swapImage('scotLg','','images/buttons/scottishLeagues_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></a></td>
</tr>
<tr>
<td>
<a href="live-spain-football-scores-via-sms.aspx">
<img src="images/buttons/spanishLeagues.jpg" border="0" alt="Spanish Leagues" name="spanLg" width="166" height="18" onmouseover="MM_swapImage('spanLg','','images/buttons/spanishLeagues_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></a></td>
</tr>
<tr>
<td>
<a href="live-italy-football-scores-via-sms.aspx">
<img src="images/buttons/italianLeagues.jpg" border="0" alt="Italian Leagues" name="italLg" width="166" height="18" onmouseover="MM_swapImage('italLg','','images/buttons/italianLeagues_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></a></td>
</tr>
<tr>
<td><a href="LiveScores.aspx"><img src="images/buttons/livescores.jpg" border="0" alt="Live Scores" name="world" width="166" height="20" onmouseover="MM_swapImage('world','','images/buttons/livescores_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></a></td>
</tr>
<tr>
<td><img src="images/buttons/supermarket.jpg" border="0" alt="Football Supermarket - coming soon" name="super" width="166" height="20" onmouseover="MM_swapImage('super','','images/buttons/supermarket_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></td>
</tr>
<tr>
<td><a href="MatchResults.aspx"><img src="images/buttons/previousResults.jpg" border="0" alt="Previous Results" name="prev" width="166" height="20" onmouseover="MM_swapImage('prev','','images/buttons/previousResults_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></a></td>
</tr>
<tr>
<td><a href="fixtures.aspx"><img src="images/buttons/futureFixtures.jpg" border="0" alt="Future Fixtures" name="future" width="166" height="20" onmouseover="MM_swapImage('future','','images/buttons/futureFixtures_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></a></td>
</tr>
<tr>
<td><img src="images/buttons/leagueTables.jpg" border="0" alt="League Tables - coming soon" name="lgTbl" width="166" height="20" onmouseover="MM_swapImage('lgTbl','','images/buttons/leagueTables_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></td>
</tr>
<tr>
<td><img src="images/buttons/sponsored.jpg" border="0" alt="Sponsored Links - coming soon" name="spons" width="166" height="20" onmouseover="MM_swapImage('spons','','images/buttons/sponsored_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><img src="images/buttons/personalise.jpg" border="0" alt="Personalise" name="pers" width="166" height="20" onmouseover="MM_swapImage('pers','','images/buttons/personalise_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></td>
</tr>
<tr>
<td>
<input id="ctl00_LoginStatus1" type="image" name="ctl00$LoginStatus1$ctl03" class="navlink" src="images/buttons/login.jpg" alt="Login" border="0" />
</tr>
<tr>
<td>
<br />
</td>
</tr>
</table>
<a href="fixtures.aspx">
<img src="images/fsl_phone_static.jpg" width="130" height="238" border="0" />
</a>
<div id="ctl00_FixtureSelectPanel">
<table border="0" cellpadding="0" cellspacing="0">
<tr style="background-color:Black; color:Green">
<td colspan="2">
<img id="ctl00_Image1" src="images/fixtures.jpg" border="0" /></td>
</tr>
<tr style="background-color:White">
<td align="left">
<select name="ctl00$FixtureDropDown" id="ctl00_FixtureDropDown" title="Choose the date you want to see the fixtures" class="body">
<option value="18/12/2008 00:00:00">18/12/2008</option>
<option value="19/12/2008 00:00:00">19/12/2008</option>
<option value="20/12/2008 00:00:00">20/12/2008</option>
<option value="21/12/2008 00:00:00">21/12/2008</option>
<option value="22/12/2008 00:00:00">22/12/2008</option>
<option value="23/12/2008 00:00:00">23/12/2008</option>
<option value="26/12/2008 00:00:00">26/12/2008</option>
<option value="27/12/2008 00:00:00">27/12/2008</option>
<option value="28/12/2008 00:00:00">28/12/2008</option>
<option value="29/12/2008 00:00:00">29/12/2008</option>
<option value="30/12/2008 00:00:00">30/12/2008</option>
<option value="01/01/2009 00:00:00">01/01/2009</option>
<option value="02/01/2009 00:00:00">02/01/2009</option>
</select>
</td>
<td align="right">
<input type="image" name="ctl00$FixtureButton" id="ctl00_FixtureButton" title="Click to see the fixtures on your chosen date" src="images/go.gif" align="absmiddle" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$FixtureButton&quot;, &quot;&quot;, false, &quot;&quot;, &quot;fixtures.aspx&quot;, false, false))" border="0" />
</td>
</tr>
</table>
</div>
<br />
<div style="text-align: center">
<table border="0" cellpadding="2" cellspacing="0">
<tr>
<td>
<a href="live-premiership-football-scores-via-sms.aspx">
<img src="images/flags2/england.jpg" border="0" alt="English Leagues goal alerts by SMS" /></a></td>
<td>
<a href="live-scottish-premier-league-football-scores-via-sms.aspx">
<img src="images/flags2/scotland.jpg" border="0" alt="Scottish Leagues goal alerts by SMS" /></a></td>
<td>
<a href="live-spain-football-scores-via-sms.aspx">
<img src="images/flags2/Spain.jpg" border="0" alt="Spanish Leagues goal alerts by SMS" /></a></td>
<td>
<a href="live-italy-football-scores-via-sms.aspx">
<img src="images/flags2/Italy.jpg" border="0" alt="Italian Leagues goal alerts by SMS" /></a></td>
</tr>
</table>
</div>
<br />
<img src="images/status.gif" width="110" height="127" /><br />
<br />
<img src="images/events.gif" width="110" height="115" /><br />
</td>
<td width="100%" colspan="2" align="center" valign="top">
<div id="ctl00_ContentPlaceHolder1_UpdatePanel1">
<h1>Historical Football Archive - Updated Daily!</h1>
<br />
<p class="body12">Missed the details of your football club's latest performance?
Whether you support Manchester United or Cambridge United, Premiership club or Conference club,
you will find it all here, with our fantastic soccer library of results over the last two weeks.
These pages contain the history & detailed results package for every football game from around the world
from the last 14 match days, including not only every goal scored, but, game results, names of goal scorer,
match results, red cards and plenty more! This service is automatically updated every 24 hours,
simply select a date from the drop down menu :-
</p>
<select name="ctl00$ContentPlaceHolder1$DropDownList1" id="ctl00_ContentPlaceHolder1_DropDownList1">
<option selected="selected" value="17/12/2008 00:00:00">Wed 17/12/2008</option>
<option value="16/12/2008 00:00:00">Tue 16/12/2008</option>
<option value="15/12/2008 00:00:00">Mon 15/12/2008</option>
<option value="14/12/2008 00:00:00">Sun 14/12/2008</option>
<option value="13/12/2008 00:00:00">Sat 13/12/2008</option>
<option value="12/12/2008 00:00:00">Fri 12/12/2008</option>
<option value="11/12/2008 00:00:00">Thu 11/12/2008</option>
<option value="10/12/2008 00:00:00">Wed 10/12/2008</option>
<option value="09/12/2008 00:00:00">Tue 09/12/2008</option>
<option value="08/12/2008 00:00:00">Mon 08/12/2008</option>
<option value="07/12/2008 00:00:00">Sun 07/12/2008</option>
<option value="06/12/2008 00:00:00">Sat 06/12/2008</option>
<option value="05/12/2008 00:00:00">Fri 05/12/2008</option>
<option value="04/12/2008 00:00:00">Thu 04/12/2008</option>
</select>
<br /><br />
<table border="1" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="text-align: left" class="header">
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl00_CompGames1_lblCompName">&nbsp;SCOTLAND - DIVISION 2</span></td>
</tr>
<tr>
<td>
<div>
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl00_CompGames1_GridView1" width="100%">
<tr class="header" align="left">
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
</tr><tr class="row">
<td>
19:45
</td><td>Pst </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">STRANRAER</td><td align="right">0</td><td align="left">0</td><td align="left">PETERHEAD</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="left">
&nbsp;
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<br />
<table border="1" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="text-align: left" class="header">
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl01_CompGames1_lblCompName">&nbsp;ENGLAND - FA TROPHY - FIRST ROUND</span></td>
</tr>
<tr>
<td>
<div>
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl01_CompGames1_GridView1" width="100%">
<tr class="header" align="left">
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
</tr><tr class="row">
<td>
19:45
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">SWINDON SUPERMARINE</td><td align="right">1</td><td align="left">0</td><td align="left">EASTBOURNE BOROUGH</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table border=0 cellpadding=2 cellspacing=0 width=250><tr align=left bgcolor=#ffffff><td><img src=\'images/info.gif\' /><b>Match information</b></td></tr><tr><td>Replayed if draw.</td></tr></table>',HAUTO,VAUTO,WIDTH,250);" onmouseout="return nd();"><img src="images/info.gif" border="0" /></a>
</td><td align="left">
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>74</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>EDENBOROUGH</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">74<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">EDENBOROUGH</a>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<br />
<table border="1" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="text-align: left" class="header">
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl02_CompGames1_lblCompName">&nbsp;EUROPE (UEFA) - UEFA CUP - GROUP STAGE</span></td>
</tr>
<tr>
<td>
<div>
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl02_CompGames1_GridView1" width="100%">
<tr class="header" align="left">
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
</tr><tr class="row">
<td>
19:45
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">AC MILAN</td><td align="right">2</td><td align="left">2</td><td align="left">VfL WOLFSBURG</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="left">
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>17</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>AMBROSINI</td></tr><tr><td>56</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>PATO</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>55</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>ZACCARDO</td></tr><tr><td>81</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>SAGLIK</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">81<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">SAGLIK</a>
</td>
</tr><tr class="row_alt">
<td>
19:45
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td bgcolor="Red">
1
</td><td>
&nbsp;
</td><td align="right">AJAX</td><td align="right">2</td><td align="left">2</td><td align="left">SLAVIA PRAHA</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="left">
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>4</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>VERTONGHEN</td></tr><tr><td>90</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball-pen.gif\' alt=\'penalty\'></td><td nowrap=nowrap>SUAREZ</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>13</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>CERNY</td></tr><tr><td>41</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>JAROLIM</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">90<img align="top" width="17" height="16" border="0" src="images/ball-pen.gif" alt="penalty">SUAREZ</a>
</td>
</tr><tr class="row">
<td>
19:45
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">CLUB BRUGGE</td><td align="right">0</td><td align="left">1</td><td align="left">FC COPENHAGEN</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="left">
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>58</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>SANTIN</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">58<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">SANTIN</a>
</td>
</tr><tr class="row_alt">
<td>
19:45
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">DEP. LA CORUNA</td><td align="right">1</td><td align="left">0</td><td align="left">NANCY</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="left">
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>74</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>BODIPO</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">74<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">BODIPO</a>
</td>
</tr><tr class="row">
<td>
19:45
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">FEYENOORD</td><td align="right">0</td><td align="left">1</td><td align="left">LECH POZNAN</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="left">
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>26</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>DJURDJEVIC</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">26<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">DJURDJEVIC</a>
</td>
</tr><tr class="row_alt">
<td>
19:45
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">HAMBURGER SV</td><td align="right">3</td><td align="left">1</td><td align="left">ASTON VILLA</td><td bgcolor="Red">
1
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="left">
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>18</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>PETRIC</td></tr><tr><td>30</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>OLIC</td></tr><tr><td>57</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>OLIC</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>82</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>DELFOUNESO</td></tr><tr><td>84</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/redcard.gif\' alt=\'red card\'></td><td nowrap=nowrap>SIDWELL</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">84<img align="top" width="17" height="16" border="0" src="images/redcard.gif" alt="red card">SIDWELL</a>
</td>
</tr><tr class="row">
<td>
19:45
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">PORTSMOUTH</td><td align="right">3</td><td align="left">0</td><td align="left">HEERENVEEN</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="left">
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>40</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>CROUCH</td></tr><tr><td>42</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>CROUCH</td></tr><tr><td>90</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>HREIDARSSON</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">90<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">HREIDARSSON</a>
</td>
</tr><tr class="row_alt">
<td>
19:45
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">ST ETIENNE</td><td align="right">2</td><td align="left">2</td><td align="left">VALENCIA</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="left">
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>29</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>ILAN</td></tr><tr><td>44</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>ILAN</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>33</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>MORIENTES</td></tr><tr><td>72</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>ZIGIC</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">72<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">ZIGIC</a>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<br />
<table border="1" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="text-align: left" class="header">
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl03_CompGames1_lblCompName">&nbsp;INTERNATIONAL TOURNAMENTS - OMAN FOUR NATIONS TOUR</span></td>
</tr>
<tr>
<td>
<div>
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl03_CompGames1_GridView1" width="100%">
<tr class="header" align="left">
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
</tr><tr class="row">
<td>
14:00
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">OMAN</td><td align="right">3</td><td align="left">1</td><td align="left">CHINA</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table border=0 cellpadding=2 cellspacing=0 width=250><tr align=left bgcolor=#ffffff><td><img src=\'images/info.gif\' /><b>Match information</b></td></tr><tr><td>Knock out.</td></tr></table>',HAUTO,VAUTO,WIDTH,250);" onmouseout="return nd();"><img src="images/info.gif" border="0" /></a>
</td><td align="left">
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>47</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>BASHEER</td></tr><tr><td>74</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>SALEH</td></tr><tr><td>84</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>SALEH</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>53</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>BO</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">84<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">SALEH</a>
</td>
</tr><tr class="row_alt">
<td>
16:30
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">ECUADOR</td><td align="right">1</td><td align="left">0</td><td align="left">IRAN</td><td bgcolor="Red">
1
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table border=0 cellpadding=2 cellspacing=0 width=250><tr align=left bgcolor=#ffffff><td><img src=\'images/info.gif\' /><b>Match information</b></td></tr><tr><td>Knock out.</td></tr></table>',HAUTO,VAUTO,WIDTH,250);" onmouseout="return nd();"><img src="images/info.gif" border="0" /></a>
</td><td align="left">
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>55</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>MARTINEZ</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>90</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/redcard.gif\' alt=\'red card\'></td><td nowrap=nowrap>NEJAD</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">90<img align="top" width="17" height="16" border="0" src="images/redcard.gif" alt="red card">NEJAD</a>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<br />
<table border="1" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="text-align: left" class="header">
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl04_CompGames1_lblCompName">&nbsp;ITALY - FA CUP - ROUND 16</span></td>
</tr>
<tr>
<td>
<div>
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl04_CompGames1_GridView1" width="100%">
<tr class="header" align="left">
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
</tr><tr class="row">
<td>
16:00
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">FIORENTINA</td><td align="right">0</td><td align="left">1</td><td align="left">TORINO</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table border=0 cellpadding=2 cellspacing=0 width=250><tr align=left bgcolor=#ffffff><td><img src=\'images/info.gif\' /><b>Match information</b></td></tr><tr><td>Knock out.</td></tr></table>',HAUTO,VAUTO,WIDTH,250);" onmouseout="return nd();"><img src="images/info.gif" border="0" /></a>
</td><td align="left">
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>19</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>BIANCHI</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">19<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">BIANCHI</a>
</td>
</tr><tr class="row_alt">
<td>
20:00
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">ROMA</td><td align="right">2</td><td align="left">0</td><td align="left">BOLOGNA</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table border=0 cellpadding=2 cellspacing=0 width=250><tr align=left bgcolor=#ffffff><td><img src=\'images/info.gif\' /><b>Match information</b></td></tr><tr><td>Knock out.</td></tr></table>',HAUTO,VAUTO,WIDTH,250);" onmouseout="return nd();"><img src="images/info.gif" border="0" /></a>
</td><td align="left">
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>82</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>VUCINIC</td></tr><tr><td>86</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>VUCINIC</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">86<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">VUCINIC</a>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<br />
<table border="1" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="text-align: left" class="header">
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl05_CompGames1_lblCompName">&nbsp;ITALY - SERIE C1A</span></td>
</tr>
<tr>
<td>
<div>
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl05_CompGames1_GridView1" width="100%">
<tr class="header" align="left">
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
</tr><tr class="row">
<td>
13:30
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">PRO SESTO</td><td align="right">0</td><td align="left">0</td><td align="left">LECCO</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="left">
&nbsp;
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<br />
<table border="1" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="text-align: left" class="header">
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl06_CompGames1_lblCompName">&nbsp;ITALY - SERIE C2A</span></td>
</tr>
<tr>
<td>
<div>
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl06_CompGames1_GridView1" width="100%">
<tr class="header" align="left">
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
</tr><tr class="row">
<td>
13:30
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">MEZZOCORONA</td><td align="right">1</td><td align="left">3</td><td align="left">SAMBONIFACESE</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="left">
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>55</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>&nbsp;</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>48</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>&nbsp;</td></tr><tr><td>66</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>&nbsp;</td></tr><tr><td>74</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>&nbsp;</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">74<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">&nbsp;</a>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<br />
<table border="1" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="text-align: left" class="header">
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl07_CompGames1_lblCompName">&nbsp;SCOTLAND - FA CUP - THIRD ROUND</span></td>
</tr>
<tr>
<td>
<div>
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl07_CompGames1_GridView1" width="100%">
<tr class="header" align="left">
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
</tr><tr class="row">
<td>
13:30
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">LOCHEE UTD</td><td align="right">1</td><td align="left">1</td><td align="left">AYR UTD</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table border=0 cellpadding=2 cellspacing=0 width=250><tr align=left bgcolor=#ffffff><td><img src=\'images/info.gif\' /><b>Match information</b></td></tr><tr><td>Replayed if draw.</td></tr></table>',HAUTO,VAUTO,WIDTH,250);" onmouseout="return nd();"><img src="images/info.gif" border="0" /></a>
</td><td align="left">
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>86</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>HAGAN</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>60</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>WILLIAMS</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">86<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">HAGAN</a>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<br />
<table border="1" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="text-align: left" class="header">
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl08_CompGames1_lblCompName">&nbsp;WORLD (FIFA) - FIFA CLUB WORLD CHAMPIONSHIP - SEMI</span></td>
</tr>
<tr>
<td>
<div>
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl08_CompGames1_GridView1" width="100%">
<tr class="header" align="left">
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
</tr><tr class="row">
<td>
10:30
</td><td>FT </td><td>-</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td align="right">PACHUCA (MEX)</td><td align="right">0</td><td align="left">2</td><td align="left">LIGA D.U. QUITO(ECU)</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
&nbsp;
</td><td>
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table border=0 cellpadding=2 cellspacing=0 width=250><tr align=left bgcolor=#ffffff><td><img src=\'images/info.gif\' /><b>Match information</b></td></tr><tr><td>Playing at Tokyo, Japan. Knock out.</td></tr></table>',HAUTO,VAUTO,WIDTH,250);" onmouseout="return nd();"><img src="images/info.gif" border="0" /></a>
</td><td align="left">
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20>&nbsp;</td><td width=120>Player</td></tr><tr><td>4</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>BIELER</td></tr><tr><td>26</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>BOLANOS</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">26<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">BOLANOS</a>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<br />
</div>
<table border="0" cellpadding="5" cellspacing="0" style="width: 100%; height: 100%">
<tr class="newslinkspace">
<td style="width: 100%">
View complete <a href="ResultsArchive.aspx" class="newslink">archive of FootballScoresLive.com Match Results</a>
</td>
</tr>
</table>
</td>
<td width="125" align="right" valign="top">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="120" height="600">
<param name="movie" value="http://www.footballscoreslive.com/images/fslSMSNew.swf" />
<param name="quality" value="high" />
<embed src="http://www.footballscoreslive.com/images/fslSMSNew.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="120" height="600"></embed>
</object>
<script type="text/javascript"><!--
google_ad_client = "pub-1398285862595543";
google_ad_width = 120;
google_ad_height = 600;
google_ad_format = "120x600_as";
google_ad_type = "text_image";
google_ad_channel ="";
google_color_border = "336699";
google_color_bg = "FFFFFF";
google_color_link = "0000FF";
google_color_text = "000000";
google_color_url = "008000";
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td>
</tr>
<tr>
<td>
<img src="images/spacer.gif" width="174" height="1" alt="" /></td>
<td>
<img src="images/spacer.gif" width="220" height="1" alt="" /></td>
<td>
<img src="images/spacer.gif" width="281" height="1" alt="" /></td>
<td>
<img src="images/spacer.gif" width="125" height="1" alt="" /></td>
</tr>
<tr>
<td height="16" colspan="4" bgcolor="#000000">
&nbsp;|&nbsp;
<a class="navlink" href="disclaimer.aspx">Disclaimer</a>&nbsp;|&nbsp;
<a class="navlink" href="privacy.aspx">Privacy</a>&nbsp;|&nbsp;
<a href="aboutus.aspx" class="navlink">About Us</a>&nbsp;|&nbsp;
<a href="NewsArchive.aspx" class="navlink">News Archive</a>&nbsp;|&nbsp;
</td>
</tr>
</table>
</div>
<input type="hidden" name="__PREVIOUSPAGE" id="__PREVIOUSPAGE" value="Xh65BZM36Ruds-iXM2l7LB-dXtc__8RpYzxQLE4V_YQ1" />
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="2ybQ+H9cPYUzPPi/5ComPVhU+jAYPdxVR+fOu2ZZbs2RxuAweOrbEg/qP5f+1OYLQI+oQJb98YQDTTMw+x86m7Np3/NYQHDjzX76RjJfW9nS6SnJVUi1nLHSh9c7wgfVB7UNjywCsU0hiMY1IUsYkR/rClTQE4j3Q4a4ub3Cqrn+b7fY3itatSObxb3L0Pq9E9vx/RpYI3jhA2RPCnO1WEQF2kEBAba5qqLwESWolSSdLqs5DRta8kholg0zw5EA5/R9+XiPqWwbk4n/TnTtdMwQq2iExD4eyjsLsE7bWnw=" />
<script type="text/xml-script">
<page xmlns:script="http://schemas.microsoft.com/xml-script/2005">
<components>
<pageRequestManager id="_PageRequestManager" updatePanelIDs="ctl00$ContentPlaceHolder1$UpdatePanel1" asyncPostbackControlIDs="ctl00_ContentPlaceHolder1_DropDownList1" scriptManagerID="ctl00$ContentPlaceHolder1$ScriptManager1" form="aspnetForm" />
</components>
</page></script>
<script type="text/javascript">
</script>
</form>
</body>
</html>

View File

@ -0,0 +1,144 @@
<?php
error_reporting(E_ALL);
include_once('../simple_html_dom.php');
$html = file_get_html('google.htm');
//$html = file_get_html('youtube.htm');
//$html = file_get_html('Product.ibatis.xml');
$lang = '';
$l=$html->find('html', 0);
if ($l!==null)
$lang = $l->lang;
if ($lang!='')
$lang = 'lang="'.$lang.'"';
$charset = $html->find('meta[http-equiv*=content-type]', 0);
$target = array();
$query = '';
if (isset($_REQUEST['query'])) {
$query = $_REQUEST['query'];
$target = $html->find($query);
}
function stat_dom($dom) {
$count_text = 0;
$count_comm = 0;
$count_elem = 0;
$count_tag_end = 0;
$count_unknown = 0;
foreach($dom->nodes as $n) {
if ($n->nodetype==HDOM_TYPE_TEXT)
++$count_text;
if ($n->nodetype==HDOM_TYPE_COMMENT)
++$count_comm;
if ($n->nodetype==HDOM_TYPE_ELEMENT)
++$count_elem;
if ($n->nodetype==HDOM_TYPE_ENDTAG)
++$count_tag_end;
if ($n->nodetype==HDOM_TYPE_UNKNOWN)
++$count_unknown;
}
echo 'Total: '. count($dom->nodes).
', Text: '.$count_text.
', Commnet: '.$count_comm.
', Tag: '.$count_elem.
', End Tag: '.$count_tag_end.
', Unknown: '.$count_unknown;
}
function dump_my_html_tree($node, $show_attr=true, $deep=0, $last=true) {
$count = count($node->nodes);
if ($count>0) {
if($last)
echo '<li class="expandable lastExpandable"><div class="hitarea expandable-hitarea lastExpandable-hitarea"></div>&lt;<span class="tag">'.htmlspecialchars($node->tag).'</span>';
else
echo '<li class="expandable"><div class="hitarea expandable-hitarea"></div>&lt;<span class="tag">'.htmlspecialchars($node->tag).'</span>';
}
else {
$laststr = ($last===false) ? '' : ' class="last"';
echo '<li'.$laststr.'>&lt;<span class="tag">'.htmlspecialchars($node->tag).'</span>';
}
if ($show_attr) {
foreach($node->attr as $k=>$v) {
echo ' '.htmlspecialchars($k).'="<span class="attr">'.htmlspecialchars($node->$k).'</span>"';
}
}
echo '&gt;';
if ($node->tag==='text' || $node->tag==='comment') {
echo htmlspecialchars($node->innertext);
return;
}
if ($count>0) echo "\n<ul style=\"display: none;\">\n";
$i=0;
foreach($node->nodes as $c) {
$last = (++$i==$count) ? true : false;
dump_my_html_tree($c, $show_attr, $deep+1, $last);
}
if ($count>0)
echo "</ul>\n";
//if ($count>0) echo '&lt;/<span class="attr">'.htmlspecialchars($node->tag).'</span>&gt;';
echo "</li>\n";
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html <?=$lang?>>
<head>
<?
if ($lang!='')
echo '<meta http-equiv="content-type" content="text/html; charset=utf-8"/>';
else if ($charset)
echo $charset;
else
echo '<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>';
?>
<title>Simple HTML DOM Query Test</title>
<link rel="stylesheet" href="js/jquery.treeview.css" />
<link rel="stylesheet" href="js/screen.css" />
<style>
.tag { color: blue; }
.attr { color: #990033; }
</style>
<script src="js/jquery.js" type="text/javascript"></script>
<script src="js/jquery.treeview.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#html_tree").treeview({
control:"#sidetreecontrol",
collapsed: true,
prerendered: true
});
});
</script>
</head>
<body>
<div id="main">
<h4>Simple HTML DOM Test</h4>
<form name="form1" method="post" action="">
find: <input name="query" type="text" size="60" maxlength="60" value="<?=htmlspecialchars($query)?>">
<input type="submit" name="Submit" value="Go">
</form>
<br>
HTML STAT (<?stat_dom($html);?>)<br>
<br>
<div id="sidetreecontrol"><a href="?#">Collapse All</a> | <a href="?#">Expand All</a></div><br>
<ul class="treeview" id="html_tree">
<?
ob_start();
foreach($target as $e)
dump_my_html_tree($e, true);
ob_end_flush();
?>
</ul>
</div>
</body></html>

View File

@ -0,0 +1,29 @@
K 25
svn:wc:ra_dav:version-url
V 48
/svnroot/simplehtmldom/!svn/ver/176/trunk/app/js
END
jquery.treeview.css
K 25
svn:wc:ra_dav:version-url
V 68
/svnroot/simplehtmldom/!svn/ver/176/trunk/app/js/jquery.treeview.css
END
jquery.treeview.js
K 25
svn:wc:ra_dav:version-url
V 67
/svnroot/simplehtmldom/!svn/ver/176/trunk/app/js/jquery.treeview.js
END
screen.css
K 25
svn:wc:ra_dav:version-url
V 59
/svnroot/simplehtmldom/!svn/ver/176/trunk/app/js/screen.css
END
jquery.js
K 25
svn:wc:ra_dav:version-url
V 58
/svnroot/simplehtmldom/!svn/ver/176/trunk/app/js/jquery.js
END

View File

@ -0,0 +1,167 @@
10
dir
182
https://simplehtmldom.svn.sourceforge.net/svnroot/simplehtmldom/trunk/app/js
https://simplehtmldom.svn.sourceforge.net/svnroot/simplehtmldom
2008-12-14T19:02:48.351607Z
176
me578022
d0e60b4b-9046-0410-940c-b97530268c78
jquery.treeview.css
file
2010-08-17T19:13:52.459235Z
339ab1bbbaefa62f58c1fbf4459a7d0e
2008-12-14T19:02:48.351607Z
176
me578022
2589
jquery.treeview.js
file
2010-08-17T19:13:52.460235Z
3f81db67b7a973c8835ef5213e3b93c6
2008-12-14T19:02:48.351607Z
176
me578022
7839
images
dir
screen.css
file
2010-08-17T19:13:52.463235Z
b8e74072c3d1b740bce61509ce86fe68
2008-12-14T19:02:48.351607Z
176
me578022
623
jquery.js
file
2010-08-17T19:13:52.465235Z
957620aeffb2e5b562591b7a19928ea4
2008-12-14T19:02:48.351607Z
176
me578022
94443

View File

@ -0,0 +1,68 @@
.treeview, .treeview ul {
padding: 0;
margin: 0;
list-style: none;
}
.treeview ul {
background-color: white;
margin-top: 4px;
}
.treeview .hitarea {
background: url(images/treeview-default.gif) -64px -25px no-repeat;
height: 16px;
width: 16px;
margin-left: -16px;
float: left;
cursor: pointer;
}
/* fix for IE6 */
* html .hitarea {
display: inline;
float:none;
}
.treeview li {
margin: 0;
padding: 3px 0pt 3px 16px;
}
.treeview a.selected {
background-color: #eee;
}
#treecontrol { margin: 1em 0; display: none; }
.treeview .hover { color: red; cursor: pointer; }
.treeview li { background: url(images/treeview-default-line.gif) 0 0 no-repeat; }
.treeview li.collapsable, .treeview li.expandable { background-position: 0 -176px; }
.treeview .expandable-hitarea { background-position: -80px -3px; }
.treeview li.last { background-position: 0 -1766px }
.treeview li.lastCollapsable, .treeview li.lastExpandable { background-image: url(images/treeview-default.gif); }
.treeview li.lastCollapsable { background-position: 0 -111px }
.treeview li.lastExpandable { background-position: -32px -67px }
.treeview div.lastCollapsable-hitarea, .treeview div.lastExpandable-hitarea { background-position: 0; }
.treeview-red li { background-image: url(images/treeview-red-line.gif); }
.treeview-red .hitarea, .treeview-red li.lastCollapsable, .treeview-red li.lastExpandable { background-image: url(images/treeview-red.gif); }
.treeview-black li { background-image: url(images/treeview-black-line.gif); }
.treeview-black .hitarea, .treeview-black li.lastCollapsable, .treeview-black li.lastExpandable { background-image: url(images/treeview-black.gif); }
.treeview-gray li { background-image: url(images/treeview-gray-line.gif); }
.treeview-gray .hitarea, .treeview-gray li.lastCollapsable, .treeview-gray li.lastExpandable { background-image: url(images/treeview-gray.gif); }
.treeview-famfamfam li { background-image: url(images/treeview-famfamfam-line.gif); }
.treeview-famfamfam .hitarea, .treeview-famfamfam li.lastCollapsable, .treeview-famfamfam li.lastExpandable { background-image: url(images/treeview-famfamfam.gif); }
.filetree li { padding: 3px 0 2px 16px; }
.filetree span.folder, .filetree span.file { padding: 1px 0 1px 16px; display: block; }
.filetree span.folder { background: url(images/folder.gif) 0 0 no-repeat; }
.filetree li.expandable span.folder { background: url(images/folder-closed.gif) 0 0 no-repeat; }
.filetree span.file { background: url(images/file.gif) 0 0 no-repeat; }

View File

@ -0,0 +1,251 @@
/*
* Treeview 1.4 - jQuery plugin to hide and show branches of a tree
*
* http://bassistance.de/jquery-plugins/jquery-plugin-treeview/
* http://docs.jquery.com/Plugins/Treeview
*
* Copyright (c) 2007 Jörn Zaefferer
*
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
* Revision: $Id: jquery.treeview.js 4684 2008-02-07 19:08:06Z joern.zaefferer $
*
*/
;(function($) {
$.extend($.fn, {
swapClass: function(c1, c2) {
var c1Elements = this.filter('.' + c1);
this.filter('.' + c2).removeClass(c2).addClass(c1);
c1Elements.removeClass(c1).addClass(c2);
return this;
},
replaceClass: function(c1, c2) {
return this.filter('.' + c1).removeClass(c1).addClass(c2).end();
},
hoverClass: function(className) {
className = className || "hover";
return this.hover(function() {
$(this).addClass(className);
}, function() {
$(this).removeClass(className);
});
},
heightToggle: function(animated, callback) {
animated ?
this.animate({ height: "toggle" }, animated, callback) :
this.each(function(){
jQuery(this)[ jQuery(this).is(":hidden") ? "show" : "hide" ]();
if(callback)
callback.apply(this, arguments);
});
},
heightHide: function(animated, callback) {
if (animated) {
this.animate({ height: "hide" }, animated, callback);
} else {
this.hide();
if (callback)
this.each(callback);
}
},
prepareBranches: function(settings) {
if (!settings.prerendered) {
// mark last tree items
this.filter(":last-child:not(ul)").addClass(CLASSES.last);
// collapse whole tree, or only those marked as closed, anyway except those marked as open
this.filter((settings.collapsed ? "" : "." + CLASSES.closed) + ":not(." + CLASSES.open + ")").find(">ul").hide();
}
// return all items with sublists
return this.filter(":has(>ul)");
},
applyClasses: function(settings, toggler) {
this.filter(":has(>ul):not(:has(>a))").find(">span").click(function(event) {
toggler.apply($(this).next());
}).add( $("a", this) ).hoverClass();
if (!settings.prerendered) {
// handle closed ones first
this.filter(":has(>ul:hidden)")
.addClass(CLASSES.expandable)
.replaceClass(CLASSES.last, CLASSES.lastExpandable);
// handle open ones
this.not(":has(>ul:hidden)")
.addClass(CLASSES.collapsable)
.replaceClass(CLASSES.last, CLASSES.lastCollapsable);
// create hitarea
this.prepend("<div class=\"" + CLASSES.hitarea + "\"/>").find("div." + CLASSES.hitarea).each(function() {
var classes = "";
$.each($(this).parent().attr("class").split(" "), function() {
classes += this + "-hitarea ";
});
$(this).addClass( classes );
});
}
// apply event to hitarea
this.find("div." + CLASSES.hitarea).click( toggler );
},
treeview: function(settings) {
settings = $.extend({
cookieId: "treeview"
}, settings);
if (settings.add) {
return this.trigger("add", [settings.add]);
}
if ( settings.toggle ) {
var callback = settings.toggle;
settings.toggle = function() {
return callback.apply($(this).parent()[0], arguments);
};
}
// factory for treecontroller
function treeController(tree, control) {
// factory for click handlers
function handler(filter) {
return function() {
// reuse toggle event handler, applying the elements to toggle
// start searching for all hitareas
toggler.apply( $("div." + CLASSES.hitarea, tree).filter(function() {
// for plain toggle, no filter is provided, otherwise we need to check the parent element
return filter ? $(this).parent("." + filter).length : true;
}) );
return false;
};
}
// click on first element to collapse tree
$("a:eq(0)", control).click( handler(CLASSES.collapsable) );
// click on second to expand tree
$("a:eq(1)", control).click( handler(CLASSES.expandable) );
// click on third to toggle tree
$("a:eq(2)", control).click( handler() );
}
// handle toggle event
function toggler() {
$(this)
.parent()
// swap classes for hitarea
.find(">.hitarea")
.swapClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )
.swapClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea )
.end()
// swap classes for parent li
.swapClass( CLASSES.collapsable, CLASSES.expandable )
.swapClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )
// find child lists
.find( ">ul" )
// toggle them
.heightToggle( settings.animated, settings.toggle );
if ( settings.unique ) {
$(this).parent()
.siblings()
// swap classes for hitarea
.find(">.hitarea")
.replaceClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )
.replaceClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea )
.end()
.replaceClass( CLASSES.collapsable, CLASSES.expandable )
.replaceClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )
.find( ">ul" )
.heightHide( settings.animated, settings.toggle );
}
}
function serialize() {
function binary(arg) {
return arg ? 1 : 0;
}
var data = [];
branches.each(function(i, e) {
data[i] = $(e).is(":has(>ul:visible)") ? 1 : 0;
});
$.cookie(settings.cookieId, data.join("") );
}
function deserialize() {
var stored = $.cookie(settings.cookieId);
if ( stored ) {
var data = stored.split("");
branches.each(function(i, e) {
$(e).find(">ul")[ parseInt(data[i]) ? "show" : "hide" ]();
});
}
}
// add treeview class to activate styles
this.addClass("treeview");
// prepare branches and find all tree items with child lists
var branches = this.find("li").prepareBranches(settings);
switch(settings.persist) {
case "cookie":
var toggleCallback = settings.toggle;
settings.toggle = function() {
serialize();
if (toggleCallback) {
toggleCallback.apply(this, arguments);
}
};
deserialize();
break;
case "location":
var current = this.find("a").filter(function() { return this.href.toLowerCase() == location.href.toLowerCase(); });
if ( current.length ) {
current.addClass("selected").parents("ul, li").add( current.next() ).show();
}
break;
}
branches.applyClasses(settings, toggler);
// if control option is set, create the treecontroller and show it
if ( settings.control ) {
treeController(this, settings.control);
$(settings.control).show();
}
return this.bind("add", function(event, branches) {
$(branches).prev()
.removeClass(CLASSES.last)
.removeClass(CLASSES.lastCollapsable)
.removeClass(CLASSES.lastExpandable)
.find(">.hitarea")
.removeClass(CLASSES.lastCollapsableHitarea)
.removeClass(CLASSES.lastExpandableHitarea);
$(branches).find("li").andSelf().prepareBranches(settings).applyClasses(settings, toggler);
});
}
});
// classes used by the plugin
// need to be styled via external stylesheet, see first example
var CLASSES = $.fn.treeview.classes = {
open: "open",
closed: "closed",
expandable: "expandable",
expandableHitarea: "expandable-hitarea",
lastExpandableHitarea: "lastExpandable-hitarea",
collapsable: "collapsable",
collapsableHitarea: "collapsable-hitarea",
lastCollapsableHitarea: "lastCollapsable-hitarea",
lastCollapsable: "lastCollapsable",
lastExpandable: "lastExpandable",
last: "last",
hitarea: "hitarea"
};
// provide backwards compability
$.fn.Treeview = $.fn.treeview;
})(jQuery);

View File

@ -0,0 +1,24 @@
html, body {height:100%; margin: 0; padding: 0; }
html>body {
font-size: 16px;
font-size: 68.75%;
} /* Reset Base Font Size */
body {
font-family: Verdana, helvetica, arial, sans-serif;
font-size: 68.75%;
background: #fff;
color: #333;
}
h1, h2 { font-family: 'trebuchet ms', verdana, arial; padding: 10px; margin: 0 }
h1 { font-size: large }
#banner { padding: 15px; background-color: #06b; color: white; font-size: large; border-bottom: 1px solid #ccc;
background: url(bg.gif) repeat-x; text-align: center }
#banner a { color: white; }
#main { padding: 1em; }
a img { border: none; }

View File

@ -0,0 +1,17 @@
K 25
svn:wc:ra_dav:version-url
V 55
/svnroot/simplehtmldom/!svn/ver/176/trunk/app/js/images
END
treeview-default.gif
K 25
svn:wc:ra_dav:version-url
V 76
/svnroot/simplehtmldom/!svn/ver/176/trunk/app/js/images/treeview-default.gif
END
treeview-default-line.gif
K 25
svn:wc:ra_dav:version-url
V 81
/svnroot/simplehtmldom/!svn/ver/176/trunk/app/js/images/treeview-default-line.gif
END

View File

@ -0,0 +1,96 @@
10
dir
182
https://simplehtmldom.svn.sourceforge.net/svnroot/simplehtmldom/trunk/app/js/images
https://simplehtmldom.svn.sourceforge.net/svnroot/simplehtmldom
2008-12-14T19:02:48.351607Z
176
me578022
d0e60b4b-9046-0410-940c-b97530268c78
treeview-default.gif
file
2010-08-17T19:13:52.297225Z
46878a9b3ede269c4e234550c9c89cd0
2008-12-14T19:02:48.351607Z
176
me578022
has-props
1222
treeview-default-line.gif
file
2010-08-17T19:13:52.303226Z
5e3c0e0c48f48c23c45aef7b72c739c0
2008-12-14T19:02:48.351607Z
176
me578022
has-props
1993

View File

@ -0,0 +1,68 @@
.treeview, .treeview ul {
padding: 0;
margin: 0;
list-style: none;
}
.treeview ul {
background-color: white;
margin-top: 4px;
}
.treeview .hitarea {
background: url(images/treeview-default.gif) -64px -25px no-repeat;
height: 16px;
width: 16px;
margin-left: -16px;
float: left;
cursor: pointer;
}
/* fix for IE6 */
* html .hitarea {
display: inline;
float:none;
}
.treeview li {
margin: 0;
padding: 3px 0pt 3px 16px;
}
.treeview a.selected {
background-color: #eee;
}
#treecontrol { margin: 1em 0; display: none; }
.treeview .hover { color: red; cursor: pointer; }
.treeview li { background: url(images/treeview-default-line.gif) 0 0 no-repeat; }
.treeview li.collapsable, .treeview li.expandable { background-position: 0 -176px; }
.treeview .expandable-hitarea { background-position: -80px -3px; }
.treeview li.last { background-position: 0 -1766px }
.treeview li.lastCollapsable, .treeview li.lastExpandable { background-image: url(images/treeview-default.gif); }
.treeview li.lastCollapsable { background-position: 0 -111px }
.treeview li.lastExpandable { background-position: -32px -67px }
.treeview div.lastCollapsable-hitarea, .treeview div.lastExpandable-hitarea { background-position: 0; }
.treeview-red li { background-image: url(images/treeview-red-line.gif); }
.treeview-red .hitarea, .treeview-red li.lastCollapsable, .treeview-red li.lastExpandable { background-image: url(images/treeview-red.gif); }
.treeview-black li { background-image: url(images/treeview-black-line.gif); }
.treeview-black .hitarea, .treeview-black li.lastCollapsable, .treeview-black li.lastExpandable { background-image: url(images/treeview-black.gif); }
.treeview-gray li { background-image: url(images/treeview-gray-line.gif); }
.treeview-gray .hitarea, .treeview-gray li.lastCollapsable, .treeview-gray li.lastExpandable { background-image: url(images/treeview-gray.gif); }
.treeview-famfamfam li { background-image: url(images/treeview-famfamfam-line.gif); }
.treeview-famfamfam .hitarea, .treeview-famfamfam li.lastCollapsable, .treeview-famfamfam li.lastExpandable { background-image: url(images/treeview-famfamfam.gif); }
.filetree li { padding: 3px 0 2px 16px; }
.filetree span.folder, .filetree span.file { padding: 1px 0 1px 16px; display: block; }
.filetree span.folder { background: url(images/folder.gif) 0 0 no-repeat; }
.filetree li.expandable span.folder { background: url(images/folder-closed.gif) 0 0 no-repeat; }
.filetree span.file { background: url(images/file.gif) 0 0 no-repeat; }

View File

@ -0,0 +1,251 @@
/*
* Treeview 1.4 - jQuery plugin to hide and show branches of a tree
*
* http://bassistance.de/jquery-plugins/jquery-plugin-treeview/
* http://docs.jquery.com/Plugins/Treeview
*
* Copyright (c) 2007 Jörn Zaefferer
*
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
* Revision: $Id: jquery.treeview.js 4684 2008-02-07 19:08:06Z joern.zaefferer $
*
*/
;(function($) {
$.extend($.fn, {
swapClass: function(c1, c2) {
var c1Elements = this.filter('.' + c1);
this.filter('.' + c2).removeClass(c2).addClass(c1);
c1Elements.removeClass(c1).addClass(c2);
return this;
},
replaceClass: function(c1, c2) {
return this.filter('.' + c1).removeClass(c1).addClass(c2).end();
},
hoverClass: function(className) {
className = className || "hover";
return this.hover(function() {
$(this).addClass(className);
}, function() {
$(this).removeClass(className);
});
},
heightToggle: function(animated, callback) {
animated ?
this.animate({ height: "toggle" }, animated, callback) :
this.each(function(){
jQuery(this)[ jQuery(this).is(":hidden") ? "show" : "hide" ]();
if(callback)
callback.apply(this, arguments);
});
},
heightHide: function(animated, callback) {
if (animated) {
this.animate({ height: "hide" }, animated, callback);
} else {
this.hide();
if (callback)
this.each(callback);
}
},
prepareBranches: function(settings) {
if (!settings.prerendered) {
// mark last tree items
this.filter(":last-child:not(ul)").addClass(CLASSES.last);
// collapse whole tree, or only those marked as closed, anyway except those marked as open
this.filter((settings.collapsed ? "" : "." + CLASSES.closed) + ":not(." + CLASSES.open + ")").find(">ul").hide();
}
// return all items with sublists
return this.filter(":has(>ul)");
},
applyClasses: function(settings, toggler) {
this.filter(":has(>ul):not(:has(>a))").find(">span").click(function(event) {
toggler.apply($(this).next());
}).add( $("a", this) ).hoverClass();
if (!settings.prerendered) {
// handle closed ones first
this.filter(":has(>ul:hidden)")
.addClass(CLASSES.expandable)
.replaceClass(CLASSES.last, CLASSES.lastExpandable);
// handle open ones
this.not(":has(>ul:hidden)")
.addClass(CLASSES.collapsable)
.replaceClass(CLASSES.last, CLASSES.lastCollapsable);
// create hitarea
this.prepend("<div class=\"" + CLASSES.hitarea + "\"/>").find("div." + CLASSES.hitarea).each(function() {
var classes = "";
$.each($(this).parent().attr("class").split(" "), function() {
classes += this + "-hitarea ";
});
$(this).addClass( classes );
});
}
// apply event to hitarea
this.find("div." + CLASSES.hitarea).click( toggler );
},
treeview: function(settings) {
settings = $.extend({
cookieId: "treeview"
}, settings);
if (settings.add) {
return this.trigger("add", [settings.add]);
}
if ( settings.toggle ) {
var callback = settings.toggle;
settings.toggle = function() {
return callback.apply($(this).parent()[0], arguments);
};
}
// factory for treecontroller
function treeController(tree, control) {
// factory for click handlers
function handler(filter) {
return function() {
// reuse toggle event handler, applying the elements to toggle
// start searching for all hitareas
toggler.apply( $("div." + CLASSES.hitarea, tree).filter(function() {
// for plain toggle, no filter is provided, otherwise we need to check the parent element
return filter ? $(this).parent("." + filter).length : true;
}) );
return false;
};
}
// click on first element to collapse tree
$("a:eq(0)", control).click( handler(CLASSES.collapsable) );
// click on second to expand tree
$("a:eq(1)", control).click( handler(CLASSES.expandable) );
// click on third to toggle tree
$("a:eq(2)", control).click( handler() );
}
// handle toggle event
function toggler() {
$(this)
.parent()
// swap classes for hitarea
.find(">.hitarea")
.swapClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )
.swapClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea )
.end()
// swap classes for parent li
.swapClass( CLASSES.collapsable, CLASSES.expandable )
.swapClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )
// find child lists
.find( ">ul" )
// toggle them
.heightToggle( settings.animated, settings.toggle );
if ( settings.unique ) {
$(this).parent()
.siblings()
// swap classes for hitarea
.find(">.hitarea")
.replaceClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )
.replaceClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea )
.end()
.replaceClass( CLASSES.collapsable, CLASSES.expandable )
.replaceClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )
.find( ">ul" )
.heightHide( settings.animated, settings.toggle );
}
}
function serialize() {
function binary(arg) {
return arg ? 1 : 0;
}
var data = [];
branches.each(function(i, e) {
data[i] = $(e).is(":has(>ul:visible)") ? 1 : 0;
});
$.cookie(settings.cookieId, data.join("") );
}
function deserialize() {
var stored = $.cookie(settings.cookieId);
if ( stored ) {
var data = stored.split("");
branches.each(function(i, e) {
$(e).find(">ul")[ parseInt(data[i]) ? "show" : "hide" ]();
});
}
}
// add treeview class to activate styles
this.addClass("treeview");
// prepare branches and find all tree items with child lists
var branches = this.find("li").prepareBranches(settings);
switch(settings.persist) {
case "cookie":
var toggleCallback = settings.toggle;
settings.toggle = function() {
serialize();
if (toggleCallback) {
toggleCallback.apply(this, arguments);
}
};
deserialize();
break;
case "location":
var current = this.find("a").filter(function() { return this.href.toLowerCase() == location.href.toLowerCase(); });
if ( current.length ) {
current.addClass("selected").parents("ul, li").add( current.next() ).show();
}
break;
}
branches.applyClasses(settings, toggler);
// if control option is set, create the treecontroller and show it
if ( settings.control ) {
treeController(this, settings.control);
$(settings.control).show();
}
return this.bind("add", function(event, branches) {
$(branches).prev()
.removeClass(CLASSES.last)
.removeClass(CLASSES.lastCollapsable)
.removeClass(CLASSES.lastExpandable)
.find(">.hitarea")
.removeClass(CLASSES.lastCollapsableHitarea)
.removeClass(CLASSES.lastExpandableHitarea);
$(branches).find("li").andSelf().prepareBranches(settings).applyClasses(settings, toggler);
});
}
});
// classes used by the plugin
// need to be styled via external stylesheet, see first example
var CLASSES = $.fn.treeview.classes = {
open: "open",
closed: "closed",
expandable: "expandable",
expandableHitarea: "expandable-hitarea",
lastExpandableHitarea: "lastExpandable-hitarea",
collapsable: "collapsable",
collapsableHitarea: "collapsable-hitarea",
lastCollapsableHitarea: "lastCollapsable-hitarea",
lastCollapsable: "lastCollapsable",
lastExpandable: "lastExpandable",
last: "last",
hitarea: "hitarea"
};
// provide backwards compability
$.fn.Treeview = $.fn.treeview;
})(jQuery);

View File

@ -0,0 +1,24 @@
html, body {height:100%; margin: 0; padding: 0; }
html>body {
font-size: 16px;
font-size: 68.75%;
} /* Reset Base Font Size */
body {
font-family: Verdana, helvetica, arial, sans-serif;
font-size: 68.75%;
background: #fff;
color: #333;
}
h1, h2 { font-family: 'trebuchet ms', verdana, arial; padding: 10px; margin: 0 }
h1 { font-size: large }
#banner { padding: 15px; background-color: #06b; color: white; font-size: large; border-bottom: 1px solid #ccc;
background: url(bg.gif) repeat-x; text-align: center }
#banner a { color: white; }
#main { padding: 1em; }
a img { border: none; }

View File

@ -0,0 +1,109 @@
#$Rev: 194 $
[Updates - add some ability to insert and create nodes.]
[1: add ability to search the "noise" array]
[PHP Simple HTML Dom version 1.5 released.]
1: Memory leak fixed!
2: Added support for detecting the source html character set. This is used to convert characters when plaintext is requested.
3: Other little fixes and features, too numerous to categorize.
[On going]
1. Error of "file_get_contents()" will be thrown as an exception.
2. Add flag: LOCK_EX while calling "file_put_contents()".
3. Fix the typo of "token_blank_t".
[PHP Simple HTML DOM Parser v1.11 is released]
1. Supports xpath generated from Firebug.
2. New method "dump" of "simple_html_dom_node".
3. New attribute "xmltext" of "simple_html_dom_node".
4. remove preg_quote on selector match function: [attribute*=value];
5. Element "Comment" will treat as children.
6. Fixed the problem with <pre>.
7. Fixed bug #2207477 (does not load some pages properly).
8. Fixed bug #2315853 (Error with character after < sign).
[PHP Simple HTML DOM Parser v1.10 is released]
1. Negative indexes supports of "find" method, thanks for Vadim Voituk.
2. Constructor with automatically load contents either text or file/url, thanks for Antcs.
3. Fully supports wildcard in selectors.
4. Fixed bug of confusing by the < symbol inside the text.
5. Fixed bug of dash in selectors.
6. Fixed bug of <nobr>.
7. Fixed bug #2155883 (Nested List Parses Incorrectly).
8. Fixed bug #2155113 (error with unclosed html tags).
[PHP Simple HTML DOM Parser v1.00 is released]
1. New method "getAllAttributes" of "simple_html_dom_node".
2. Fix the bug of selector in some critical conditions.
3. Fix the bug of striping php tags.
4. Fix the bug of remove_noise().
5. Fix the bug of noise in attributes.
6. Supports full javascript string in selector: $e->find("a[onclick=alert('hello')]").
7. Change selector "*=" to case-insentive.
[PHP Simple HTML DOM Parser v0.99 is released]
1. Performance turning (boost 10%).
2. Memory requirement reduce 25%.
3. Change function name from "file_get_dom()" to "file_get_html()".
4. Change function name from "str_get_dom()" to "str_get_html()".
5. Fixed bug #2011286 (Error with unclosed html tags).
6. Fixed bug #2012551 (Error parsing divs).
7. Fixed bug #2020924 (Error for missed tag.).
8. Fixed bug (problem with <body> tag's innertext).
[PHP Simple HTML DOM Parser v0.98 is released]
1. Performance turning (boost 20%).
2. Supports "multiple class" selector feature: <div class="a b c"></div>.
3. New "callback function" feature.
4. New "multiple selectors" feature: $dom->find('p,a,b');
5. New examples.
6. Supports extract contents from HTML features: $dom->plaintext;
7. Fix the bug of $dom->clear().
8. Fix the bug of text nodes' innertext.
9. Fix the bug of comment nodes' innertext.
10. Fix the bug of decendent selector with optional tags.
11. Change simple_html_dom_node method name from "text()" to "makeup()".
[PHP Simple HTML DOM Parser v0.97 is released]
1. Important!! file and class name changed (html_dom_parser->simple_html_dom)!
2. Important!! ($dom->save_file) will not support anymore.
3. New node type "comment" (eg. $dom->find('comment')).
4. Add self-closing tags: 'base', 'spacer'.
5. Fix the bug of outertext (th).
6. Fix the bug of regular expression escaping chars ($dom->find).
7. Fix the bug while line-breaker and "\t" in tags.
8. Remove example "example_customize_parser.php".
9. New example "simple_html_dom_utility.php".
[PHP Simple HTML DOM Parser v0.96 is released]
1. (Request #1936000) New DOM operations(first_child, last_child, next_sibling, previous_sibling).
2. New method to remove attribute.
3. Add the solution while server behind proxy in FAQ (Thanks to Yousuke Shaggy).
4. Add traverse section in manual.
5. Now file_get_dom supports full file_get_contents parameters.
6. Fix the bug of self-closing tags in the end of file.
7. Fix the bug of blanks in the end of tag.
8. Add Reference section in manual.
#. Fix some typo of testcase.
[PHP Simple HTML DOM Parser v0.95 is released]
1. New attribute filters (Thanks to Yousuke Kumakura).
2. Fix the bug of optional-closing tags.
3. Fix the bug of parsing the line break next to the tag's name.
4. Supports tag name with namespace.
#. Refine structure of testcase.
[PHP Simple HTML DOM Parser v0.94 is released]
1. Stop infinity loop while tthe source content is BAD HTML.
2. Fix the bug of adding new attributes to self closing tags.
3. Fix the bug of customize parser without $dom->remove_noise();
4. Add FAQ section in manual.

View File

@ -0,0 +1,41 @@
K 25
svn:wc:ra_dav:version-url
V 49
/svnroot/simplehtmldom/!svn/ver/169/trunk/example
END
example_extract_html.php
K 25
svn:wc:ra_dav:version-url
V 74
/svnroot/simplehtmldom/!svn/ver/133/trunk/example/example_extract_html.php
END
example_basic_selector.php
K 25
svn:wc:ra_dav:version-url
V 76
/svnroot/simplehtmldom/!svn/ver/133/trunk/example/example_basic_selector.php
END
example_modify_contents.php
K 25
svn:wc:ra_dav:version-url
V 77
/svnroot/simplehtmldom/!svn/ver/133/trunk/example/example_modify_contents.php
END
simple_html_dom_utility.php
K 25
svn:wc:ra_dav:version-url
V 77
/svnroot/simplehtmldom/!svn/ver/133/trunk/example/simple_html_dom_utility.php
END
example_advanced_selector.php
K 25
svn:wc:ra_dav:version-url
V 79
/svnroot/simplehtmldom/!svn/ver/133/trunk/example/example_advanced_selector.php
END
example_callback.php
K 25
svn:wc:ra_dav:version-url
V 70
/svnroot/simplehtmldom/!svn/ver/134/trunk/example/example_callback.php
END

View File

@ -0,0 +1,235 @@
10
dir
182
https://simplehtmldom.svn.sourceforge.net/svnroot/simplehtmldom/trunk/example
https://simplehtmldom.svn.sourceforge.net/svnroot/simplehtmldom
2008-10-29T19:08:25.076520Z
169
me578022
d0e60b4b-9046-0410-940c-b97530268c78
example_extract_html.php
file
2010-08-17T19:13:52.948263Z
5815bb5f7500b9a88ecc70a123893c1b
2008-07-25T12:31:14.828880Z
133
me578022
has-props
110
example_basic_selector.php
file
2010-08-17T19:13:52.951263Z
217a2d96745c826e96d13c055e31638b
2008-07-25T12:31:14.828880Z
133
me578022
976
example_modify_contents.php
file
2010-08-17T19:13:52.953263Z
e6fcf41d1b2a1867b0314f80efe7eb9a
2008-07-25T12:31:14.828880Z
133
me578022
378
simple_html_dom_utility.php
file
2010-08-17T19:13:52.955263Z
3d75d01886f4fb7bc15a8f9a4b204428
2008-07-25T12:31:14.828880Z
133
me578022
927
scraping
dir
example_advanced_selector.php
file
2010-08-17T19:13:52.956263Z
273077bc1a0c8945acc1f318b60d8476
2008-07-25T12:31:14.828880Z
133
me578022
1521
example_callback.php
file
2010-08-17T19:13:52.964264Z
0d52be96ec57b5b40efb8588898159e4
2008-07-25T12:32:01.594191Z
134
me578022
has-props
604

View File

@ -0,0 +1,13 @@
K 13
svn:eol-style
V 6
native
K 12
svn:keywords
V 11
Id Rev Date
K 13
svn:mime-type
V 10
text/x-php
END

View File

@ -0,0 +1,13 @@
K 13
svn:eol-style
V 6
native
K 12
svn:keywords
V 11
Id Rev Date
K 13
svn:mime-type
V 10
text/x-php
END

View File

@ -0,0 +1,54 @@
<?php
// example of how to use advanced selector features
include('../simple_html_dom.php');
// -----------------------------------------------------------------------------
// descendant selector
$str = <<<HTML
<div>
<div>
<div class="foo bar">ok</div>
</div>
</div>
HTML;
$html = str_get_html($str);
echo $html->find('div div div', 0)->innertext . '<br>'; // result: "ok"
// -----------------------------------------------------------------------------
// nested selector
$str = <<<HTML
<ul id="ul1">
<li>item:<span>1</span></li>
<li>item:<span>2</span></li>
</ul>
<ul id="ul2">
<li>item:<span>3</span></li>
<li>item:<span>4</span></li>
</ul>
HTML;
$html = str_get_html($str);
foreach($html->find('ul') as $ul) {
foreach($ul->find('li') as $li)
echo $li->innertext . '<br>';
}
// -----------------------------------------------------------------------------
// parsing checkbox
$str = <<<HTML
<form name="form1" method="post" action="">
<input type="checkbox" name="checkbox1" value="checkbox1" checked>item1<br>
<input type="checkbox" name="checkbox2" value="checkbox2">item2<br>
<input type="checkbox" name="checkbox3" value="checkbox3" checked>item3<br>
</form>
HTML;
$html = str_get_html($str);
foreach($html->find('input[type=checkbox]') as $checkbox) {
if ($checkbox->checked)
echo $checkbox->name . ' is checked<br>';
else
echo $checkbox->name . ' is not checked<br>';
}
?>

View File

@ -0,0 +1,37 @@
<?php
// example of how to use basic selector to retrieve HTML contents
include('../simple_html_dom.php');
// get DOM from URL or file
$html = file_get_html('http://www.google.com/');
// find all link
foreach($html->find('a') as $e)
echo $e->href . '<br>';
// find all image
foreach($html->find('img') as $e)
echo $e->src . '<br>';
// find all image with full tag
foreach($html->find('img') as $e)
echo $e->outertext . '<br>';
// find all div tags with id=gbar
foreach($html->find('div#gbar') as $e)
echo $e->innertext . '<br>';
// find all span tags with class=gb1
foreach($html->find('span.gb1') as $e)
echo $e->outertext . '<br>';
// find all td tags with attribite align=center
foreach($html->find('td[align=center]') as $e)
echo $e->innertext . '<br>';
// extract text from table
echo $html->find('td[align="center"]', 1)->plaintext.'<br><hr>';
// extract text from HTML
echo $html->plaintext;
?>

View File

@ -0,0 +1,28 @@
<?php
include_once('../simple_html_dom.php');
// 1. Write a function with parameter "$element"
function my_callback($element) {
if ($element->tag=='input')
$element->outertext = 'input';
if ($element->tag=='img')
$element->outertext = 'img';
if ($element->tag=='a')
$element->outertext = 'a';
}
// 2. create HTML Dom
$html = file_get_html('http://www.google.com/');
// 3. Register the callback function with it's function name
$html->set_callback('my_callback');
// 4. Callback function will be invoked while dumping
echo $html;
?>

View File

@ -0,0 +1,5 @@
<?php
include_once('../simple_html_dom.php');
echo file_get_html('http://www.google.com/')->plaintext;
?>

View File

@ -0,0 +1,18 @@
<?php
// example of how to modify HTML contents
include('../simple_html_dom.php');
// get DOM from URL or file
$html = file_get_html('http://www.google.com/');
// remove all image
foreach($html->find('img') as $e)
$e->outertext = '';
// replace all input
foreach($html->find('input') as $e)
$e->outertext = '[INPUT]';
// dump contents
echo $html;
?>

View File

@ -0,0 +1,35 @@
<?php
include_once('../simple_html_dom.php');
// -----------------------------------------------------------------------------
// remove HTML comments
function html_no_comment($url) {
// create HTML DOM
$html = file_get_html($url);
// remove all comment elements
foreach($html->find('comment') as $e)
$e->outertext = '';
$ret = $html->save();
// clean up memory
$html->clear();
unset($html);
return $ret;
}
// -----------------------------------------------------------------------------
// search elements that contains an specific text
function find_contains($html, $selector, $keyword, $index=-1) {
$ret = array();
foreach ($html->find($selector) as $e) {
if (strpos($e->innertext, $keyword)!==false)
$ret[] = $e;
}
if ($index<0) return $ret;
return (isset($ret[$index])) ? $ret[$index] : null;
}
?>

View File

@ -0,0 +1,54 @@
<?php
// example of how to use advanced selector features
include('../simple_html_dom.php');
// -----------------------------------------------------------------------------
// descendant selector
$str = <<<HTML
<div>
<div>
<div class="foo bar">ok</div>
</div>
</div>
HTML;
$html = str_get_html($str);
echo $html->find('div div div', 0)->innertext . '<br>'; // result: "ok"
// -----------------------------------------------------------------------------
// nested selector
$str = <<<HTML
<ul id="ul1">
<li>item:<span>1</span></li>
<li>item:<span>2</span></li>
</ul>
<ul id="ul2">
<li>item:<span>3</span></li>
<li>item:<span>4</span></li>
</ul>
HTML;
$html = str_get_html($str);
foreach($html->find('ul') as $ul) {
foreach($ul->find('li') as $li)
echo $li->innertext . '<br>';
}
// -----------------------------------------------------------------------------
// parsing checkbox
$str = <<<HTML
<form name="form1" method="post" action="">
<input type="checkbox" name="checkbox1" value="checkbox1" checked>item1<br>
<input type="checkbox" name="checkbox2" value="checkbox2">item2<br>
<input type="checkbox" name="checkbox3" value="checkbox3" checked>item3<br>
</form>
HTML;
$html = str_get_html($str);
foreach($html->find('input[type=checkbox]') as $checkbox) {
if ($checkbox->checked)
echo $checkbox->name . ' is checked<br>';
else
echo $checkbox->name . ' is not checked<br>';
}
?>

View File

@ -0,0 +1,37 @@
<?php
// example of how to use basic selector to retrieve HTML contents
include('../simple_html_dom.php');
// get DOM from URL or file
$html = file_get_html('http://www.google.com/');
// find all link
foreach($html->find('a') as $e)
echo $e->href . '<br>';
// find all image
foreach($html->find('img') as $e)
echo $e->src . '<br>';
// find all image with full tag
foreach($html->find('img') as $e)
echo $e->outertext . '<br>';
// find all div tags with id=gbar
foreach($html->find('div#gbar') as $e)
echo $e->innertext . '<br>';
// find all span tags with class=gb1
foreach($html->find('span.gb1') as $e)
echo $e->outertext . '<br>';
// find all td tags with attribite align=center
foreach($html->find('td[align=center]') as $e)
echo $e->innertext . '<br>';
// extract text from table
echo $html->find('td[align="center"]', 1)->plaintext.'<br><hr>';
// extract text from HTML
echo $html->plaintext;
?>

View File

@ -0,0 +1,28 @@
<?php
include_once('../simple_html_dom.php');
// 1. Write a function with parameter "$element"
function my_callback($element) {
if ($element->tag=='input')
$element->outertext = 'input';
if ($element->tag=='img')
$element->outertext = 'img';
if ($element->tag=='a')
$element->outertext = 'a';
}
// 2. create HTML Dom
$html = file_get_html('http://www.google.com/');
// 3. Register the callback function with it's function name
$html->set_callback('my_callback');
// 4. Callback function will be invoked while dumping
echo $html;
?>

View File

@ -0,0 +1,5 @@
<?php
include_once('../simple_html_dom.php');
echo file_get_html('http://www.google.com/')->plaintext;
?>

View File

@ -0,0 +1,18 @@
<?php
// example of how to modify HTML contents
include('../simple_html_dom.php');
// get DOM from URL or file
$html = file_get_html('http://www.google.com/');
// remove all image
foreach($html->find('img') as $e)
$e->outertext = '';
// replace all input
foreach($html->find('input') as $e)
$e->outertext = '[INPUT]';
// dump contents
echo $html;
?>

View File

@ -0,0 +1,23 @@
K 25
svn:wc:ra_dav:version-url
V 58
/svnroot/simplehtmldom/!svn/ver/169/trunk/example/scraping
END
example_scraping_digg.php
K 25
svn:wc:ra_dav:version-url
V 84
/svnroot/simplehtmldom/!svn/ver/133/trunk/example/scraping/example_scraping_digg.php
END
example_scraping_imdb.php
K 25
svn:wc:ra_dav:version-url
V 84
/svnroot/simplehtmldom/!svn/ver/133/trunk/example/scraping/example_scraping_imdb.php
END
example_scraping_slashdot.php
K 25
svn:wc:ra_dav:version-url
V 88
/svnroot/simplehtmldom/!svn/ver/169/trunk/example/scraping/example_scraping_slashdot.php
END

View File

@ -0,0 +1,130 @@
10
dir
182
https://simplehtmldom.svn.sourceforge.net/svnroot/simplehtmldom/trunk/example/scraping
https://simplehtmldom.svn.sourceforge.net/svnroot/simplehtmldom
2008-10-29T19:08:25.076520Z
169
me578022
d0e60b4b-9046-0410-940c-b97530268c78
example_scraping_digg.php
file
2010-08-17T19:13:52.895260Z
bd67cef1e4729067a8fef9aff1a61dc3
2008-07-25T12:31:14.828880Z
133
me578022
has-props
1059
example_scraping_imdb.php
file
2010-08-17T19:13:52.901260Z
477179278b3752eccc5c286a0754e014
2008-07-25T12:31:14.828880Z
133
me578022
has-props
1311
example_scraping_slashdot.php
file
2010-08-17T19:13:52.909260Z
f3996448238646b8e76006da56fa42d2
2008-10-29T19:08:25.076520Z
169
me578022
has-props
829

View File

@ -0,0 +1,13 @@
K 13
svn:eol-style
V 6
native
K 12
svn:keywords
V 11
Id Rev Date
K 13
svn:mime-type
V 10
text/x-php
END

View File

@ -0,0 +1,13 @@
K 13
svn:eol-style
V 6
native
K 12
svn:keywords
V 11
Id Rev Date
K 13
svn:mime-type
V 10
text/x-php
END

View File

@ -0,0 +1,13 @@
K 13
svn:eol-style
V 6
native
K 12
svn:keywords
V 11
Id Rev Date
K 13
svn:mime-type
V 10
text/x-php
END

View File

@ -0,0 +1,44 @@
<?php
include_once('../../simple_html_dom.php');
function scraping_digg() {
// create HTML DOM
$html = file_get_html('http://digg.com/');
// get news block
foreach($html->find('div.news-summary') as $article) {
// get title
$item['title'] = trim($article->find('h3', 0)->plaintext);
// get details
$item['details'] = trim($article->find('p', 0)->plaintext);
// get intro
$item['diggs'] = trim($article->find('li a strong', 0)->plaintext);
$ret[] = $item;
}
// clean up memory
$html->clear();
unset($html);
return $ret;
}
// -----------------------------------------------------------------------------
// test it!
// "http://digg.com" will check user_agent header...
ini_set('user_agent', 'My-Application/2.5');
$ret = scraping_digg();
foreach($ret as $v) {
echo $v['title'].'<br>';
echo '<ul>';
echo '<li>'.$v['details'].'</li>';
echo '<li>Diggs: '.$v['diggs'].'</li>';
echo '</ul>';
}
?>

View File

@ -0,0 +1,51 @@
<?php
include_once('../../simple_html_dom.php');
function scraping_IMDB($url) {
// create HTML DOM
$html = file_get_html($url);
// get title
$ret['Title'] = $html->find('title', 0)->innertext;
// get rating
$ret['Rating'] = $html->find('div[class="general rating"] b', 0)->innertext;
// get overview
foreach($html->find('div[class="info"]') as $div) {
// skip user comments
if($div->find('h5', 0)->innertext=='User Comments:')
return $ret;
$key = '';
$val = '';
foreach($div->find('*') as $node) {
if ($node->tag=='h5')
$key = $node->plaintext;
if ($node->tag=='a' && $node->plaintext!='more')
$val .= trim(str_replace("\n", '', $node->plaintext));
if ($node->tag=='text')
$val .= trim(str_replace("\n", '', $node->plaintext));
}
$ret[$key] = $val;
}
// clean up memory
$html->clear();
unset($html);
return $ret;
}
// -----------------------------------------------------------------------------
// test it!
$ret = scraping_IMDB('http://imdb.com/title/tt0335266/');
foreach($ret as $k=>$v)
echo '<strong>'.$k.' </strong>'.$v.'<br>';
?>

View File

@ -0,0 +1,35 @@
<?php
include_once('../../simple_html_dom.php');
function scraping_slashdot() {
// create HTML DOM
$html = file_get_html('http://slashdot.org/');
// get article block
foreach($html->find('div[id^=firehose-]') as $article) {
// get title
$item['title'] = trim($article->find('a.datitle', 0)->plaintext);
// get body
$item['body'] = trim($article->find('div.body', 0)->plaintext);
$ret[] = $item;
}
// clean up memory
$html->clear();
unset($html);
return $ret;
}
// -----------------------------------------------------------------------------
// test it!
$ret = scraping_slashdot();
foreach($ret as $v) {
echo $v['title'].'<br>';
echo '<ul>';
echo '<li>'.$v['body'].'</li>';
echo '</ul>';
}
?>

View File

@ -0,0 +1,44 @@
<?php
include_once('../../simple_html_dom.php');
function scraping_digg() {
// create HTML DOM
$html = file_get_html('http://digg.com/');
// get news block
foreach($html->find('div.news-summary') as $article) {
// get title
$item['title'] = trim($article->find('h3', 0)->plaintext);
// get details
$item['details'] = trim($article->find('p', 0)->plaintext);
// get intro
$item['diggs'] = trim($article->find('li a strong', 0)->plaintext);
$ret[] = $item;
}
// clean up memory
$html->clear();
unset($html);
return $ret;
}
// -----------------------------------------------------------------------------
// test it!
// "http://digg.com" will check user_agent header...
ini_set('user_agent', 'My-Application/2.5');
$ret = scraping_digg();
foreach($ret as $v) {
echo $v['title'].'<br>';
echo '<ul>';
echo '<li>'.$v['details'].'</li>';
echo '<li>Diggs: '.$v['diggs'].'</li>';
echo '</ul>';
}
?>

View File

@ -0,0 +1,51 @@
<?php
include_once('../../simple_html_dom.php');
function scraping_IMDB($url) {
// create HTML DOM
$html = file_get_html($url);
// get title
$ret['Title'] = $html->find('title', 0)->innertext;
// get rating
$ret['Rating'] = $html->find('div[class="general rating"] b', 0)->innertext;
// get overview
foreach($html->find('div[class="info"]') as $div) {
// skip user comments
if($div->find('h5', 0)->innertext=='User Comments:')
return $ret;
$key = '';
$val = '';
foreach($div->find('*') as $node) {
if ($node->tag=='h5')
$key = $node->plaintext;
if ($node->tag=='a' && $node->plaintext!='more')
$val .= trim(str_replace("\n", '', $node->plaintext));
if ($node->tag=='text')
$val .= trim(str_replace("\n", '', $node->plaintext));
}
$ret[$key] = $val;
}
// clean up memory
$html->clear();
unset($html);
return $ret;
}
// -----------------------------------------------------------------------------
// test it!
$ret = scraping_IMDB('http://imdb.com/title/tt0335266/');
foreach($ret as $k=>$v)
echo '<strong>'.$k.' </strong>'.$v.'<br>';
?>

View File

@ -0,0 +1,35 @@
<?php
include_once('../../simple_html_dom.php');
function scraping_slashdot() {
// create HTML DOM
$html = file_get_html('http://slashdot.org/');
// get article block
foreach($html->find('div[id^=firehose-]') as $article) {
// get title
$item['title'] = trim($article->find('a.datitle', 0)->plaintext);
// get body
$item['body'] = trim($article->find('div.body', 0)->plaintext);
$ret[] = $item;
}
// clean up memory
$html->clear();
unset($html);
return $ret;
}
// -----------------------------------------------------------------------------
// test it!
$ret = scraping_slashdot();
foreach($ret as $v) {
echo $v['title'].'<br>';
echo '<ul>';
echo '<li>'.$v['body'].'</li>';
echo '</ul>';
}
?>

View File

@ -0,0 +1,35 @@
<?php
include_once('../simple_html_dom.php');
// -----------------------------------------------------------------------------
// remove HTML comments
function html_no_comment($url) {
// create HTML DOM
$html = file_get_html($url);
// remove all comment elements
foreach($html->find('comment') as $e)
$e->outertext = '';
$ret = $html->save();
// clean up memory
$html->clear();
unset($html);
return $ret;
}
// -----------------------------------------------------------------------------
// search elements that contains an specific text
function find_contains($html, $selector, $keyword, $index=-1) {
$ret = array();
foreach ($html->find($selector) as $e) {
if (strpos($e->innertext, $keyword)!==false)
$ret[] = $e;
}
if ($index<0) return $ret;
return (isset($ret[$index])) ? $ret[$index] : null;
}
?>

View File

@ -0,0 +1,23 @@
K 25
svn:wc:ra_dav:version-url
V 48
/svnroot/simplehtmldom/!svn/ver/165/trunk/manual
END
manual.htm
K 25
svn:wc:ra_dav:version-url
V 59
/svnroot/simplehtmldom/!svn/ver/165/trunk/manual/manual.htm
END
manual_faq.htm
K 25
svn:wc:ra_dav:version-url
V 63
/svnroot/simplehtmldom/!svn/ver/165/trunk/manual/manual_faq.htm
END
manual_api.htm
K 25
svn:wc:ra_dav:version-url
V 63
/svnroot/simplehtmldom/!svn/ver/165/trunk/manual/manual_api.htm
END

View File

@ -0,0 +1,139 @@
10
dir
182
https://simplehtmldom.svn.sourceforge.net/svnroot/simplehtmldom/trunk/manual
https://simplehtmldom.svn.sourceforge.net/svnroot/simplehtmldom
2008-10-20T21:14:53.811160Z
165
me578022
d0e60b4b-9046-0410-940c-b97530268c78
manual.htm
file
2010-08-17T19:13:53.692305Z
299f58f40c40054c245399752d7164ec
2008-10-20T21:14:53.811160Z
165
me578022
has-props
24678
css
dir
manual_faq.htm
file
2010-08-17T19:13:53.698306Z
2d0d134462e6bf404b93d7f8eefe2767
2008-10-20T21:14:53.811160Z
165
me578022
has-props
4818
img
dir
js
dir
manual_api.htm
file
2010-08-17T19:13:53.705306Z
3ff73eb882e61bd23b87c6cc0ba743b4
2008-10-20T21:14:53.811160Z
165
me578022
has-props
11505

View File

@ -0,0 +1,448 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>PHP Simple HTML DOM Parser: Manual</title>
<link href="css/default.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="css/ui.tabs.css" type="text/css" media="print, projection, screen">
<script type="text/javascript" src="js/jquery-1.2.3.pack.js"></script>
<script type="text/javascript" src="js/ui.tabs.pack.js"></script>
<script language="JavaScript" type="text/JavaScript">
$(document).ready(function(){
$(function() {$('#container_quickstart > ul').tabs();});
$(function() {$('#container_create > ul').tabs();});
$(function() {$('#container_find > ul').tabs();});
$(function() {$('#container_access > ul').tabs();});
$(function() {$('#container_traverse > ul').tabs();});
$(function() {$('#container_dump > ul').tabs();});
$(function() {$('#container_callback > ul').tabs();});
});
</script>
</head>
<body>
<h1><a name="top"></a>PHP Simple HTML DOM Parser Manual</h1>
<div id="content">
<h2>Index</h2>
<ul>
<li><a href="#section_quickstart">Quick Start</a></li>
<li><a href="#section_create">How to create HTML DOM object?</a></li>
<li><a href="#section_find">How to find HTML elements?</a></li>
<li><a href="#section_access">How to access the HTML element's attributes?</a> </li>
<li><a href="#section_traverse">How to traverse the DOM tree?</a></li>
<li><a href="#section_dump">How to dump contents of DOM object?</a></li>
<li><a href="#section_callback">How to customize the parsing behavior?</a></li>
<li><a href="manual_api.htm">API Reference</a></li>
<li><a href="manual_faq.htm">FAQ</a></li>
</ul>
<a name="section_quickstart"></a>
<h2>Quick Start</h2>
<a class="top" href="#top">Top</a>
<div id="container_quickstart">
<ul>
<li><a href="#fragment-11"><span>Get HTML elements</span></a></li>
<li><a href="#fragment-12"><span>Modify HTML elements</span></a></li>
<li><a href="#fragment-13"><span>Extract contents from HTML</span></a></li>
<li><a href="#fragment-14"><span>Scraping Slashdot!</span></a></li>
</ul>
<div id="fragment-11">
<div class="code">
<span class="comment">// Create DOM from URL or file</span><br>
$html = <strong>file_get_html</strong>(<span class="var">'http://www.google.com/'</span>);<br>
<br>
<span class="comment">// Find all images </span><br>
foreach($html-&gt;<strong>find</strong>(<span class="var">'img'</span>) as $element) <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo $element-&gt;<strong>src</strong> . <span class="var">'&lt;br&gt;'</span>;<br>
<br>
<span class="comment">// Find all links </span><br>
foreach($html-&gt;<strong>find</strong>(<span class="var">'a'</span>) as $element) <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo $element-&gt;<strong>href</strong> . <span class="var">'&lt;br&gt;'</span>; </div>
</div>
<div id="fragment-12">
<div class="code">
<span class="comment">// Create DOM from string</span><br>
$html = <strong>str_get_html</strong>(<span class="var">'&lt;div id=&quot;hello&quot;&gt;Hello&lt;/div&gt;&lt;div id=&quot;world&quot;&gt;World&lt;/div&gt;'</span>);<span class="comment"><br>
<br>
</span>
$html-&gt;<strong>find</strong>(<span class="var">'div', 1</span>)-&gt;<strong>class</strong> = <span class="var">'bar'</span>;<br>
<br>
$html-&gt;<strong>find</strong>(<span class="var">'div[id=hello]', 0</span>)-&gt;<strong>innertext</strong> = <span class="var">'foo'</span>;<br>
<br>
echo $html; <span class="comment">// Output: &lt;div id=&quot;hello&quot;&gt;<strong>foo</strong>&lt;/div&gt;&lt;div id=&quot;world&quot; <strong>class=&quot;bar&quot;</strong>&gt;World&lt;/div&gt;</span> </div>
</div>
<div id="fragment-13">
<div class="code"><br>
<span class="comment">// Dump contents (without tags) from HTML</span><br>
echo <strong>file_get_html</strong>(<span class="var">'http://www.google.com/'</span>)-&gt;<strong>plaintext</strong>;
<br>
<br>
</div>
</div>
<div id="fragment-14">
<div class="code">
<span class="comment">// Create DOM from URL</span><br>
$html = <strong>file_get_html</strong>(<span class="var">'http://slashdot.org/'</span>);<br>
<br>
<span class="comment">// Find all article blocks</span><br>
foreach($html-&gt;<strong>find</strong>(<span class="var">'div.article'</span>) as $article) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;$item[<span class="var">'title'</span>]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= $article-&gt;<strong>find</strong>(<span class="var">'div.title'</span>, <span class="var">0</span>)-&gt;<strong>plaintext</strong>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;$item[<span class="var">'intro'</span>]&nbsp;&nbsp;&nbsp;&nbsp;= $article-&gt;<strong>find</strong>(<span class="var">'div.intro'</span>, <span class="var">0</span>)-&gt;<strong>plaintext</strong>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;$item[<span class="var">'details'</span>]&nbsp;= $article-&gt;<strong>find</strong>(<span class="var">'div.details'</span>, <span class="var">0</span>)-&gt;<strong>plaintext</strong>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;$articles[] = $item;<br>
}<br>
<br>
print_r($articles);
</div>
</div>
</div>
<a name="section_create"></a>
<h2>How to create HTML DOM object?</h2>
<a class="top" href="#top">Top</a>
<div id="container_create">
<ul>
<li><a href="#frag_create_quick"><span>Quick way</span></a></li>
<li><a href="#frag_create_oo"><span>Object-oriented way</span></a></li>
</ul>
<div id="frag_create_quick">
<div class="code"><span class="comment">// Create a DOM object from a string</span><br>
$html = <strong>str_get_html</strong>(<span class="var">'&lt;html&gt;&lt;body&gt;Hello!&lt;/body&gt;&lt;/html&gt;'</span>);<br>
<br>
<span class="comment">// Create a DOM object from a URL</span><br>
$html = <strong>file_get_html</strong>(<span class="var">'http://www.google.com/'</span>);<br>
<br>
<span class="comment">// Create a DOM object from a HTML file</span><br>
$html = <strong>file_get_html</strong>(<span class="var">'test.htm'</span>);<span class="comment"><br>
</span></div>
</div>
<div id="frag_create_oo">
<div class="code"><span class="comment">// Create a DOM object</span><br>
$html = new <strong>simple_html_dom</strong>();<br>
<br>
<span class="comment">// Load HTML from a string</span><br>
$html-&gt;<strong>load</strong>(<span class="var">'&lt;html&gt;&lt;body&gt;Hello!&lt;/body&gt;&lt;/html&gt;'</span>);<br>
<br>
<span class="comment">// Load HTML from a URL </span> <br>
$html-&gt;<strong>load_file</strong>(<span class="var">'http://www.google.com/'</span>);<br>
<br>
<span class="comment">// Load HTML from a HTML file</span> <br>
$html-&gt;<strong>load_file</strong>(<span class="var">'test.htm'</span>);</div>
</div>
</div>
<a name="section_find"></a>
<h2>How to find HTML elements?</h2>
<a class="top" href="#top">Top</a>
<div id="container_find">
<ul>
<li><a href="#frag_find_basic"><span>Basics</span></a></li>
<li><a href="#frag_find_advanced"><span>Advanced</span></a></li>
<li><a href="#frag_find_chain"><span>Descendant selectors</span></a></li>
<li><a href="#frag_find_nested"><span>Nested selectors</span></a></li>
<li><a href="#frag_find_attr"><span>Attribute Filters</span></a></li>
<li><a href="#frag_find_textcomment"><span>Text &amp; Comments</span></a></li>
</ul>
<div id="frag_find_basic">
<div class="code"> <span class="comment">// Find all <strong>anchors</strong>, returns a <strong>array</strong> of element objects</span><br>
$ret = $html-&gt;find(<span class="var">'<strong>a</strong>'</span>);<br>
<br>
<span class="comment">// Find <strong>(N)th</strong> <strong>anchor</strong>, returns element object or <strong>null</strong> if not found</span> <span class="comment">(zero based)</span><br>
$ret = $html-&gt;find(<span class="var">'<strong>a</strong>', <strong>0</strong></span>);<br>
<br>
<span class="comment">// Find <strong>lastest</strong> <strong>anchor</strong>, returns element object or <strong>null</strong> if not found</span> <span class="comment">(zero based)</span><br>
$ret = $html-&gt;find(<span class="var">'<strong>a</strong>', <strong>-1</strong></span>); <br>
<br>
<span class="comment">// Find all <strong>&lt;div&gt;</strong> with the <strong>id</strong> attribute</span><br>
$ret = $html-&gt;find(<span class="var">'<strong>div[id]</strong>'</span>);<br>
<br>
<span class="comment">// Find all <strong>&lt;div&gt;</strong> which attribute <strong>id=foo</strong></span><br>
$ret = $html-&gt;find(<span class="var">'<strong>div[id=foo]</strong>'</span>); <br>
</div>
</div>
<div id="frag_find_advanced">
<div class="code"><span class="comment">// Find all element which <strong>id</strong>=foo</span><br>
$ret = $html-&gt;find(<span class="var">'<strong>#foo</strong>'</span>);<br>
<br>
<span class=comment>// Find all element which <strong>class</strong>=foo</span><br>
$ret = $html-&gt;find(<span class=var>'<strong>.foo</strong>'</span>);<br>
<br>
<span class="comment">// Find all element has attribute<strong> id</strong></span><br>
$ret = $html-&gt;find(<span class="var">'<strong>*[id]</strong>'</span>); <br>
<br>
<span class="comment">// Find all <strong>anchors</strong> and <strong>images</strong> </span><br>
$ret = $html-&gt;find(<span class="var">'<strong>a, img</strong>'</span>); <br>
<br>
<span class="comment">// Find all <strong>anchors</strong> and <strong>images</strong> with the "title" attribute</span><br>
$ret = $html-&gt;find(<span class="var">'<strong>a[title], img[title]</strong>'</span>);<br>
</div>
</div>
<div id="frag_find_attr">
<div class="code">
Supports these operators in attribute selectors:<br><br>
<table cellpadding="1" cellspacing="1">
<tr>
<th width="25%">Filter</th>
<th width="75%">Description</th>
</tr>
<tr>
<td>[attribute]</td>
<td>Matches elements that <strong>have</strong> the specified attribute.</td>
</tr>
<tr>
<td>[!attribute]</td>
<td>Matches elements that <strong>don't have</strong> the specified attribute.</td>
</tr>
<tr>
<td>[attribute=value]</td>
<td>Matches elements that have the specified attribute with a <strong>certain value</strong>.</td>
</tr>
<tr>
<td>[attribute!=value]</td>
<td>Matches elements that <strong>don't have</strong> the specified attribute with a certain value.</td>
</tr>
<tr>
<td>[attribute^=value]</td>
<td>Matches elements that have the specified attribute and it <strong>starts</strong> with a certain value.</td>
</tr>
<tr>
<td>[attribute$=value]</td>
<td>Matches elements that have the specified attribute and it <strong>ends</strong> with a certain value.</td>
</tr>
<tr>
<td>[attribute*=value]</td>
<td>Matches elements that have the specified attribute and it <strong>contains</strong> a certain value.</td>
</tr>
</table>
</div>
</div>
<div id="frag_find_chain">
<div class="code"><span class="comment">// Find all &lt;li&gt; in &lt;ul&gt; </span><br>
$es = $html-&gt;find(<span class="var">'<strong>ul li</strong>'</span>);<br>
<br>
<span class="comment">// Find Nested &lt;div&gt; </span><span class="comment">tags</span><br>
$es = $html-&gt;find(<span class="var">'<strong>div div div</strong>'</span>); <br>
<br>
<span class="comment">// Find all &lt;td&gt; in &lt;table&gt; which class=hello </span><br>
$es = $html-&gt;find(<span class="var">'<strong>table.hello td</strong>'</span>);<br>
<br>
<span class="comment">// Find all td tags with attribite align=center in table tags </span><br>
$es = $html-&gt;find(<span class="var">''<strong>table</strong><strong> td[align=center]</strong>'</span>);<br>
</div>
</div>
<div id="frag_find_textcomment">
<div class="code"><span class="comment"> // Find all text blocks </span><br>
$es = $html-&gt;find(<span class="var">'<strong>text</strong>'</span>);<br>
<br>
<span class="comment">// Find all comment (&lt;!--...--&gt;) blocks </span><br>
$es = $html-&gt;find(<span class="var">'<strong>comment</strong>'</span>);<br>
</div>
</div>
<div id="frag_find_nested">
<div class="code"> <span class="comment">// Find all &lt;li&gt; in &lt;ul&gt; </span><br>
foreach($html-&gt;find(<span class="var">'<strong>ul</strong>'</span>) as $ul) <br>
{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach($ul-&gt;find(<span class="var">'<strong>li</strong>'</span>) as $li) <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="comment">// do something...</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
}<br>
<br>
<span class="comment">// Find first &lt;li&gt; in first &lt;ul&gt;</span> <br>
$e = $html-&gt;find(<span class="var">'<strong>ul</strong>', <strong>0</strong></span>)-&gt;find(<span class="var">'<strong>li</strong>', <strong>0</strong></span>);<br>
</div>
</div>
</div>
<a name="section_access"></a>
<h2>How to access the HTML element's attributes?</h2>
<a class="top" href="#top">Top</a>
<div id="container_access">
<ul>
<li><a href="#frag_access_attr"><span>Get, Set and Remove attributes</span></a></li>
<li><a href="#frag_access_special"><span>Magic attributes</span></a></li>
<li><a href="#frag_access_tips"><span>Tips</span></a></li>
</ul>
<div id="frag_access_attr">
<div class="code">
<span class="comment">// <strong>Get</strong> a attribute ( If the attribute is <strong>non-value</strong> attribute (eg. checked, selected...), it will returns <strong>true</strong> or <strong>false</strong>)</span><br>
$value = $e-&gt;<strong>href</strong>;<br>
<br>
<span class="comment">// <strong>Set</strong> a attribute(If the attribute is <strong>non-value</strong> attribute (eg. checked, selected...), set it's value as <strong>true</strong> or <strong>false</strong>)</span><br>
$e-&gt;<strong>href</strong> = <span class="var">'my link'</span>;<br>
<br>
<span class="comment">// <strong>Remove</strong> a attribute, set it's value as null! </span><br>
$e-&gt;<strong>href</strong> = <strong><span class="var">null</span></strong>;<br>
<br>
<span class="comment">// <strong>Determine</strong> whether a attribute exist?</span> <br>
if(isset($e-&gt;<strong>href</strong>)) <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo <span class="var">'href exist!'</span>;<br>
</div>
</div>
<div id="frag_access_special">
<div class="code"> <span class="comment">// Example</span><br>
<span class="hl-var">$</span><span class="hl-code">html = </span>str_get_html<span class="hl-brackets">(</span><span class="var">&quot;&lt;div&gt;foo &lt;b&gt;bar&lt;/b&gt;&lt;/div&gt;&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;</span> <br>
$e = $html-&gt;find(<span class="var">&quot;div&quot;</span>, <span class="var">0</span>);<br>
<br>
echo $e-&gt;<strong>tag</strong>; <span class="comment">// Returns: &quot; <strong>div</strong>&quot;</span><br>
echo $e-&gt;<strong>outertext</strong>; <span class="comment">// Returns: &quot; <strong>&lt;div&gt;foo &lt;b&gt;bar&lt;/b&gt;&lt;/div&gt;</strong>&quot;</span><br>
echo $e-&gt;<strong>innertext</strong>; <span class="comment">// Returns: &quot; <strong>foo &lt;b&gt;bar&lt;/b&gt;</strong>&quot;</span><br>
echo $e-&gt;<strong>plaintext</strong>; <span class="comment">// Returns: &quot; <strong>foo </strong><strong>bar</strong>&quot;<br>
<br>
</span>
<table cellspacing="1" cellpadding="1">
<tr bgcolor="#CCCCCC">
<th width="25%">Attribute Name</th>
<th width="75%">Usage</th>
</tr>
<tr>
<td>$e-&gt;<strong>tag</strong></td>
<td>Read or write the <strong>tag name</strong> of element.</td>
</tr>
<tr>
<td>$e-&gt;<strong>outertext</strong></td>
<td>Read or write the <strong>outer HTML text </strong> of element.</td>
</tr>
<tr>
<td>$e-&gt;<strong>innertext</strong></td>
<td>Read or write the <strong>inner HTML text </strong> of element.</td>
</tr>
<tr>
<td>$e-&gt;<strong>plaintext</strong></td>
<td>Read or write the <strong>plain text </strong> of element.</td>
</tr>
</table>
</div>
</div>
<div id="frag_access_tips">
<div class="code"><span class="comment">// <strong>Extract</strong> contents from HTML </span><br>
echo <strong>$html</strong>-&gt;<strong>plaintext</strong>;<br>
<br>
<span class="comment">
// <strong>Wrap</strong> a element</span><br>
$e-&gt;<strong>outertext</strong> = <span class="var">'&lt;div class=&quot;wrap&quot;&gt;'</span> . $e-&gt;<strong>outertext</strong> . <span class="var">'&lt;div&gt;</span>';<br>
<br>
<span class="comment">// <strong>Remove</strong> a element, set it's outertext as an empty string </span><br>
$e-&gt;<strong>outertext</strong> = <span class="var">''</span>;<br>
<br>
<span class="comment">// <strong>Append</strong> a element</span><br>
$e-&gt;<strong>outertext</strong> = $e-&gt;<strong>outertext</strong> . <span class="var">'&lt;div&gt;foo</span><span class="var">&lt;div&gt;</span>';<br>
<br>
<span class="comment">// <strong>Insert</strong> a element</span><br>
$e-&gt;<strong>outertext</strong> = <span class="var">'&lt;div&gt;foo</span><span class="var">&lt;div&gt;</span>' . $e-&gt;<strong>outertext</strong>;<br>
</div>
</div>
</div>
<a name="section_traverse"></a>
<h2>How to traverse the DOM tree?</h2>
<a class="top" href="#top">Top</a>
<div id="container_traverse">
<ul>
<li><a href="#frag_traverse_background"><span>Background Knowledge</span></a></li>
<li><a href="#frag_traverse_traverse"><span>Traverse the DOM tree</span></a></li>
</ul>
<div id="frag_traverse_background">
<div class="code"> <span class="comment">// If you are not so familiar with HTML DOM, check this <a href="http://php.net/manual/en/book.dom.php" target="_blank"><span class="var">link</span></a> to learn more... </span><br>
<br>
<span class="comment">// Example</span><br>
echo $html-&gt;<strong>find</strong>(<span class="var">&quot;#div1&quot;, 0</span>)-&gt;<strong>children</strong>(<span class="var">1</span>)-&gt;<strong>children</strong>(<span class="var">1</span>)-&gt;<strong>children</strong>(<span class="var">2</span>)-&gt;<span class="var">id</span>;<br>
<span class="comment">// or</span> <br>
echo $html-&gt;<strong>getElementById</strong>(<span class="var">&quot;div1&quot;</span>)-&gt;<strong>childNodes</strong>(<span class="var">1</span>)-&gt;<strong>childNodes</strong>(<span class="var">1</span>)-&gt;<strong>childNodes</strong>(<span class="var">2</span>)-&gt;<strong>getAttribute</strong>(<span class="var">'id'</span>); </div>
</div>
<div id="frag_traverse_traverse">
<div class="code">You can also call methods with <a href="manual_api.htm#camel"><span class="var">Camel naming convertions</span></a>.<br>
<table cellspacing="1" cellpadding="1">
<tr>
<th> Method </th>
<th> Description</th>
</tr>
<tr>
<td>
<div class="returns">mixed</div>$e-&gt;<strong>children</strong> ( <span class="var">[int $index]</span> ) </td>
<td>Returns the Nth <strong>child object</strong> if <strong>index</strong> is set, otherwise return an <strong>array of children</strong>. </td>
</tr>
<tr>
<td>
<div class="returns">element</div>$e-&gt;<strong>parent</strong> () </td>
<td>Returns the <strong>parent</strong> of element. </td>
</tr>
<tr>
<td>
<div class="returns">element</div>$e-&gt;<strong>first_child</strong> () </td>
<td>Returns the <strong>first child</strong> of element, or <strong>null</strong> if not found. </td>
</tr>
<tr>
<td>
<div class="returns">element</div>$e-&gt;<strong>last_child</strong> () </td>
<td>Returns the <strong>last child</strong> of element, or <strong>null</strong> if not found. </td>
</tr>
<tr>
<td>
<div class="returns">element</div>$e-&gt;<strong>next_sibling</strong> () </td>
<td>Returns the <strong>next sibling</strong> of element, or<strong> null</strong> if not found. </td>
</tr>
<tr>
<td>
<div class="returns">element</div>$e-&gt;<strong>prev_sibling</strong> () </td>
<td>Returns the <strong>previous sibling</strong> of element, or <strong>null</strong> if not found. </td>
</tr>
</table>
</div>
</div>
</div>
<a name="section_dump"></a>
<h2>How to dump contents of DOM object?</h2>
<a class="top" href="#top">Top</a>
<div id="container_dump">
<ul>
<li><a href="#frag_dump_quick"><span>Quick way</span></a></li>
<li><a href="#frag_dump_oo"><span>Object-oriented way</span></a></li>
</ul>
<div id="frag_dump_oo">
<div class="code"><span class="comment">// </span><span class="comment">Dumps the internal DOM tree back into string </span><br>
$str = $html-&gt;<strong>save</strong>();<br>
<br>
<span class="comment">// Dumps the internal DOM tree back into a file</span> <br>
$html-&gt;<strong>save</strong>(<span class="var">'result.htm'</span>);</div>
</div>
<div id="frag_dump_quick">
<div class="code"><span class="comment">// </span><span class="comment">Dumps the internal DOM tree back into string </span><br>
$str = $html;<br>
<br>
<span class="comment">// Print it!</span><br>
echo $html; <br>
</div>
</div>
</div>
<a name="section_callback"></a>
<h2>How to customize the parsing behavior?</h2>
<a class="top" href="#top">Top</a>
<div id="container_callback">
<ul>
<li><a href="#frag_callback"><span>Callback function</span></a></li>
</ul>
<div id="frag_callback">
<div class="code"><span class="comment">// Write a function with parameter &quot;<strong>$element</strong>&quot;</span><br>
function my_callback(<span class="var">$element</span>) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">// Hide all &lt;b&gt; tags </span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ($element-&gt;tag==<span class="var">'b'</span>)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$element-&gt;outertext = '';<br>
} <br>
<br>
<span class="comment">// Register the callback function with it's <strong>function name</strong></span><br>
$html-&gt;<strong>set_callback</strong>(<span class="var">'my_callback'</span>);<br>
<br>
<span class="comment">// Callback function will be invoked while dumping</span><br>
echo $html;
</div>
</div>
</div>
<div><br>
Author: S.C. Chen (me578022@gmail.com)<br>
Original idea is from Jose Solorzano's <a href="http://php-html.sourceforge.net/">HTML Parser for PHP 4</a>. <br>
Contributions by: Contributions by: Yousuke Kumakura, Vadim Voituk, Antcs<br>
</div>
</div>
</body>
</html>
<!--$Rev$-->

View File

@ -0,0 +1,320 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>PHP Simple HTML DOM Parser: API Reference</title>
<link href="css/default.css" rel="stylesheet" type="text/css">
</head>
<body>
<h1><a name="top"></a>PHP Simple HTML DOM Parser Manual</h1>
<div id="content">
<h2>Index</h2>
<ul>
<li><a href="manual.htm">Back</a></li>
<li><a href="#api">API Reference</a></li>
<li><a href="#camel">Camel naming conventions</a></li>
</ul>
<a name="api"></a>
<h2>API Reference</h2>
<a class="top" href="#top">Top</a>
<div class="code"> <strong>Helper</strong> functions
<table width="100%" cellpadding="1" cellspacing="1">
<tr>
<th width="320">Name</th>
<th>Description</th>
</tr>
<tr>
<td><span class="returns">object</span> str_get_html ( <span class="var">string $content</span> )</td>
<td class="description">Creates a DOM object from a string.</td>
</tr>
<tr>
<td><span class="returns">object</span> file_get_html ( <span class="var">string $filename</span> )</td>
<td class="description">Creates a DOM object from a file or a URL.</td>
</tr>
</table>
<br>
<strong>DOM</strong> methods &amp; properties <br>
<table width="100%" cellpadding="1" cellspacing="1">
<tr>
<th width="320"> Name</th>
<th> Description</th>
</tr>
<tr>
<td>
<div class="returns">void</div>
__construct ( <span class="var">[string $filename]</span> )</td>
<td class="description">Constructor, set the filename parameter will automatically load the contents, either text or file/url.</td>
</tr>
<tr>
<td>
<div class="returns">string</div>
plaintext</td>
<td class="description">Returns the contents extracted from HTML.</td>
</tr>
<tr>
<td>
<div class="returns">void</div>
clear ()</td>
<td class="description">Clean up memory.</td>
</tr>
<tr>
<td>
<div class="returns">void</div>
load ( <span class="var">string $content </span>)</td>
<td class="description"> Load contents from a <strong>string</strong>. </td>
</tr>
<tr>
<td>
<div class="returns">string</div>
save ( <span class="var">[string $filename]</span> )</td>
<td class="description">Dumps the internal DOM tree back into a <strong>string</strong>. If the $filename is set, result string will save to file. </td>
</tr>
<tr>
<td>
<div class="returns">void</div>
load_file (<span class="var"> string $filename</span> )</td>
<td class="description"> Load contents from a from a file or a URL.</td>
</tr>
<tr>
<td>
<div class="returns">void</div>
set_callback ( <span class="var">string $function_name </span>)</td>
<td class="description">Set a callback function. </td>
</tr>
<tr>
<td>
<div class="returns">mixed</div>
find (<span class="var"> string $selector [, int $index] </span>)</td>
<td class="description">Find elements by the CSS selector. Returns the Nth element <strong>object</strong> if <strong>index</strong> is set, otherwise return an <strong>array</strong> of object. </td>
</tr>
</table>
<br>
<strong>Element</strong> methods &amp; properties <br>
<table width="100%" cellpadding="1" cellspacing="1">
<tr>
<th width="320">Name</th>
<th>Description</th>
</tr>
<tr>
<td>
<div class="returns">string</div>
<span class="var">[attribute]</span></td>
<td class="description">Read or write element's attribure value. </td>
</tr>
<tr>
<td>
<div class="returns">string</div>
tag</td>
<td class="description">Read or write the tag name of element.</td>
</tr>
<tr>
<td>
<div class="returns">string</div>
outertext</td>
<td class="description">Read or write the outer HTML text of element.</td>
</tr>
<tr>
<td>
<div class="returns">string</div>
innertext</td>
<td class="description">Read or write the inner HTML text of element.</td>
</tr>
<tr>
<td>
<div class="returns">string</div>
plaintext</td>
<td class="description">Read or write the plain text of element.</td>
</tr>
<tr>
<td>
<div class="returns">mixed</div>
find (<span class="var"> string $selector [, int $index] </span>)</td>
<td class="description">Find children by the CSS selector. Returns the Nth element <strong>object</strong> if <strong>index</strong> is set, otherwise, return an <strong>array</strong> of object. </td>
</tr>
</table>
<strong><br>
DOM</strong> traversing<br>
<table width="100%" cellpadding="1" cellspacing="1">
<tr>
<th width="320">Name</th>
<th>Description</th>
</tr>
<tr>
<td>
<div class="returns">mixed</div>
$e-&gt;children ( <span class="var">[int $index]</span> ) </td>
<td class="description">Returns the Nth child <strong>object</strong> if <strong>index</strong> is set, otherwise return an <strong>array</strong> of children. </td>
</tr>
<tr>
<td>
<div class="returns">element</div>
$e-&gt;parent () </td>
<td class="description">Returns the parent of element. </td>
</tr>
<tr>
<td>
<div class="returns">element</div>
$e-&gt;first_child () </td>
<td class="description">Returns the first child of element, or <strong>null</strong> if not found. </td>
</tr>
<tr>
<td>
<div class="returns">element</div>
$e-&gt;last_child () </td>
<td class="description">Returns the last child of element, or <strong>null</strong> if not found. </td>
</tr>
<tr>
<td>
<div class="returns">element</div>
$e-&gt;next_sibling () </td>
<td class="description">Returns the next sibling of element, or<strong> null</strong> if not found. </td>
</tr>
<tr>
<td>
<div class="returns">element</div>
$e-&gt;prev_sibling () </td>
<td class="description">Returns the previous sibling of element, or <strong>null</strong> if not found. </td>
</tr>
</table>
</div>
<a name="camel"></a>
<h2>Camel naming convertions</h2>
<a class="top" href="#top">Top</a>
<div class="code">You can also call methods with W3C STANDARD camel naming convertions.<br>
<br>
<table width="100%" cellpadding="1" cellspacing="1">
<tr>
<th width="50%">Method</th>
<th>Mapping</th>
</tr>
<tr bgcolor="#EEEEEE">
<td>
<div class="returns">array</div>
$e-&gt;getAllAttributes () </td>
<td>
<div class="returns">array</div>
$e-&gt;<span class="var">attr</span></td>
</tr>
<tr bgcolor="#EEEEEE">
<td>
<div class="returns">string</div>
$e-&gt;getAttribute ( <span class="var">$name</span> ) </td>
<td>
<div class="returns">string</div>
$e-&gt;<span class="var">attribute</span></td>
</tr>
<tr bgcolor="#EEEEEE">
<td>
<div class="returns">void</div>
$e-&gt;setAttribute ( <span class="var">$name, $value</span> ) </td>
<td>
<div class="returns">void</div>
$value = $e-&gt;<span class="var">attribute</span></td>
</tr>
<tr bgcolor="#EEEEEE">
<td>
<div class="returns">bool</div>
$e-&gt;hasAttribute ( <span class="var">$name</span> ) </td>
<td>
<div class="returns">bool</div>
isset($e-&gt;<span class="var">attribute</span>)</td>
</tr>
<tr bgcolor="#EEEEEE">
<td>
<div class="returns">void</div>
$e-&gt;removeAttribute ( <span class="var">$name</span> ) </td>
<td>
<div class="returns">void</div>
$e-&gt;<span class="var">attribute</span> = null</td>
</tr>
<tr bgcolor="#EEEEEE">
<td>
<div class="returns">element</div>
$e-&gt;getElementById ( <span class="var">$id</span> ) </td>
<td>
<div class="returns">mixed</div>
$e-&gt;find (<span class="var"> &quot;#$id&quot;, 0 </span>)</td>
</tr>
<tr bgcolor="#EEEEEE">
<td>
<div class="returns">mixed</div>
$e-&gt;getElementsById ( <span class="var">$id [,$index] </span> ) </td>
<td>
<div class="returns">mixed</div>
$e-&gt;find (<span class="var"> &quot;#$id&quot; [, int $index] </span>)</td>
</tr>
<tr bgcolor="#EEEEEE">
<td>
<div class="returns">element</div>
$e-&gt;getElementByTagName (<span class="var">$name</span> ) </td>
<td>
<div class="returns">mixed</div>
$e-&gt;find (<span class="var"> $name, 0 </span>)</td>
</tr>
<tr bgcolor="#EEEEEE">
<td>
<div class="returns">mixed</div>
$e-&gt;getElementsByTagName ( <span class="var">$name [, $index]</span> ) </td>
<td>
<div class="returns">mixed</div>
$e-&gt;find (<span class="var"> $name [, int $index] </span>)</td>
</tr>
<tr bgcolor="#EEEEEE">
<td>
<div class="returns">element</div>
$e-&gt;parentNode () </td>
<td>
<div class="returns">element</div>
$e-&gt;parent () </td>
</tr>
<tr bgcolor="#EEEEEE">
<td>
<div class="returns">mixed</div>
$e-&gt;childNodes ( <span class="var">[$index]</span> ) </td>
<td>
<div class="returns">mixed</div>
$e-&gt;children ( <span class="var">[int $index]</span> ) </td>
</tr>
<tr bgcolor="#EEEEEE">
<td>
<div class="returns">element</div>
$e-&gt;firstChild () </td>
<td>
<div class="returns">element</div>
$e-&gt;first_child () </td>
</tr>
<tr bgcolor="#EEEEEE">
<td>
<div class="returns">element</div>
$e-&gt;lastChild () </td>
<td>
<div class="returns">element</div>
$e-&gt;last_child () </td>
</tr>
<tr bgcolor="#EEEEEE">
<td>
<div class="returns">element</div>
$e-&gt;nextSibling () </td>
<td>
<div class="returns">element</div>
$e-&gt;next_sibling () </td>
</tr>
<tr bgcolor="#EEEEEE">
<td>
<div class="returns">element</div>
$e-&gt;previousSibling () </td>
<td>
<div class="returns">element</div>
$e-&gt;prev_sibling () </td>
</tr>
</table>
</div>
<div><br>
Author: S.C. Chen (me578022@gmail.com)<br>
Original idea is from Jose Solorzano's <a href="http://php-html.sourceforge.net/">HTML Parser for PHP 4</a>. <br>
Contributions by: Contributions by: Yousuke Kumakura, Vadim Voituk, Antcs<br>
</div>
</div>
</body>
</html>
<!--$Rev$-->

View File

@ -0,0 +1,91 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>PHP Simple HTML DOM Parser: FAQ</title>
<link href="css/default.css" rel="stylesheet" type="text/css">
</head>
<body>
<h1><a name="top"></a>PHP Simple HTML DOM Parser Manual</h1>
<div id="content">
<h2>FAQ</h2>
<ul>
<li><a href="manual.htm">Back</a></li>
<li><a href="#find">Problem with finding</a></li>
<li><a href="#hosting">Problem with hosting</a></li>
<li><a href="#proxy">Behind a proxy</a></li>
<li><a href="#memory_leak">Memory leak!</a></li>
</ul>
<div>
<a name="find"></a>
<h2>Problem with finding</h2>
<a class="top" href="#top">Top</a>
<div class="code"> <span class="var">Q:</span> Element not found in such case:<br>
$html-&gt;find('div[style=<span class="var">padding: 0px 2px;</span>] span[class=rf]');<br>
<br>
<span class="var">A:</span> If there is blank in selectors, quote it!  <br>
$html-&gt;find('div[style=<strong class="var">&quot;padding: 0px 2px;&quot;</strong>] span[class=rf]');</div>
<a name="hosting"></a>
<h2>Problem with hosting</h2>
<a class="top" href="#top">Top</a>
<div class="code"> <span class="var">Q:</span> On my local server everything works fine, but when I put it on my esternal server it doesn't work. <br>
<br>
<span class="var">A:</span> The "file_get_dom" function is a wrapper of "file_get_contents" function,  you must set "<strong>allow_url_fopen</strong>" as <strong>TRUE</strong> in "php.ini" to allow accessing files via HTTP or FTP. However, some hosting venders disabled PHP's "allow_url_fopen" flag for security issues... PHP provides excellent support for "curl" library to do the same job, Use curl to get the page, then call "str_get_dom" to create DOM object. <br>
<br>
Example: <br>
 <br>
$curl = curl_init(); <br>
curl_setopt(<span class="var">$curl, CURLOPT_URL, 'http://????????'</span>);  <br>
curl_setopt(<span class="var">$curl, CURLOPT_RETURNTRANSFER, 1</span>);  <br>
curl_setopt(<span class="var">$curl, CURLOPT_CONNECTTIMEOUT, 10</span>);  <br>
$str = curl_exec(<span class="var">$curl</span>);  <br>
curl_close($curl);  <br>
 <br>
$html= <strong>str_get_html</strong>($str); <br>
...  </div>
<a name="proxy"></a>
<div>
<h2>Behind a proxy</h2>
<a class="top" href="#top">Top</a>
<div class="code"> <span class="var">Q:</span> My server is behind a Proxy and i can't use file_get_contents b/c it returns a unauthorized error.<br>
<br>
<span class="var">A:</span> Thanks for Shaggy to provide the solution: <br>
 <br>
<span class="comment">// Define a context for HTTP. </span><br>
$context = array<br>
( <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="var">'http'</span> =&gt; array<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ( <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="var">'proxy'</span> =&gt; <span class="var">'addresseproxy:portproxy'</span>, <span class="comment">// This needs to be the server and the port of the NTLM Authentication Proxy Server. </span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="var"> 'request_fulluri'</span> =&gt; true, <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ), <br>
); <br>
<br>
$context = <strong>stream_context_create</strong>($context); <br>
 <br>
$html= <strong>file_get_html</strong>(<span class="var">'http://www.php.net'</span>, <span class="var">false</span>, <span class="var">$context</span>); <br>
...<br>
</div>
</div>
<a name="memory_leak"></a>
<h2>Memory leak!</h2>
<a class="top" href="#top">Top</a>
<div class="code"> <span class="var">Q:</span> This script is leaking memory seriously... After it finished running, it's not cleaning up dom object properly from memory.. <br>
<br>
<span class="var">A:</span> Due to php5 circular references memory leak, after creating DOM object, you must call $dom-&gt;clear() to free memory if call file_get_dom() more then once. <br>
<br>
Example: <br>
<br>
$html = file_get_html(...); <br>
<span class="comment">// do something... </span><br>
$html-&gt;clear(); <br>
unset($html);</div>
<br>
Author: S.C. Chen (me578022@gmail.com)<br>
Original idea is from Jose Solorzano's <a href="http://php-html.sourceforge.net/">HTML Parser for PHP 4</a>. <br>
Contributions by: Yousuke Kumakura, Vadim Voituk, Antcs<br>
</div>
</div>
</body>
</html>
<!--$Rev$-->

View File

@ -0,0 +1,17 @@
K 25
svn:wc:ra_dav:version-url
V 52
/svnroot/simplehtmldom/!svn/ver/120/trunk/manual/css
END
default.css
K 25
svn:wc:ra_dav:version-url
V 64
/svnroot/simplehtmldom/!svn/ver/120/trunk/manual/css/default.css
END
ui.tabs.css
K 25
svn:wc:ra_dav:version-url
V 63
/svnroot/simplehtmldom/!svn/ver/29/trunk/manual/css/ui.tabs.css
END

View File

@ -0,0 +1,96 @@
10
dir
182
https://simplehtmldom.svn.sourceforge.net/svnroot/simplehtmldom/trunk/manual/css
https://simplehtmldom.svn.sourceforge.net/svnroot/simplehtmldom
2008-06-24T22:59:40.092528Z
120
me578022
d0e60b4b-9046-0410-940c-b97530268c78
default.css
file
2010-08-17T19:13:53.530296Z
2f01e1ff8a4fa8fe63c8be8e17800ab0
2008-06-24T22:59:40.092528Z
120
me578022
2069
ui.tabs.css
file
2010-08-17T19:13:53.531296Z
995c002d1908567d7542ec9c2adfdc65
2008-03-14T14:58:12.908404Z
29
me578022
3833

View File

@ -0,0 +1,113 @@
/*$Rev: 46 $*/
body {
margin: 0;
padding: 0;
font-family: verdana,arial,helvetica,sans-serif;
font-size: 11px;
color: #4F5155;
}
#content {
margin: 0 20px 0 20px;
line-height: 16px;
padding: 0;
}
h1 {
font-size: 18px;
margin: 0;
padding: 0 0 2px 0;
background-color: #D0D0D0;
text-align: center;
}
h2 {
background-color: #727EA3;
border-right: 1px solid #D0D0D0;
border-bottom: 1px solid #D0D0D0;
color: #FFFFFF;
font-size: 14px;
font-weight: bold;
margin: 14px 0 4px 0;
padding: 1px 10px 1px 10px;
}
ul {
margin-top: 0;
margin-bottom: 0;
line-height:1.5em;
list-style-image:url(bullet.gif);
list-style-type:square;
}
.top {
font-size: 11px;
float: right;
}
.code {
font-size: 11px;
font-family: Monaco, Verdana, Sans-serif;
line-height: 14px;
background-color: #f6f6f6;
border-bottom: 1px solid #D0D0D0;
border-top: 1px solid #A0A0A0;
border-left: 1px solid #A0A0A0;
border-right: 1px solid #D0D0D0;
color: #002166;
display: block;
margin: 2px 0 2px 0;
padding: 2px 10px 2px 10px;
}
.code A:link {color: #002166; text-decoration: none; font-weight: bold;}
.code A:visited {color: #002166; text-decoration: none; font-weight: bold;}
.code A:active {color: #002166; text-decoration: none; font-weight: bold;}
.code A:hover {color: #0000ff; text-decoration: underline; font-weight: bold;}
.code .keyword {
color: #007700;
}
.code .comment {
font-size: 10px;
color: #888;
}
.code .var {
color: #770000;
}
th {
font-family: Lucida Grande, Verdana, Geneva, Sans-serif;
color: #000000;
background-color: #CFD4E6;
margin: 2px 2px 2px 2px;
padding: 2px 2px 2px 2px;
font-size: 13px;
font-weight: normal;
font-style: normal;
}
td {
background-color: #dddddd;
}
.description {
font-family: Lucida Grande, Verdana, Geneva, Sans-serif;
font-size: 11px;
color: #333;
text-ident: 30px;
font-style: normal;
}
.returns {
font-family: Monaco, Verdana, Sans-serif;
font-size: 10px;
color: #888;
float: left;
text-align: right;
margin: 0 4px 0 0;
width: 48px;
}

View File

@ -0,0 +1,116 @@
/* Caution! Ensure accessibility in print and other media types... */
@media projection, screen { /* Use class for showing/hiding tab content, so that visibility can be better controlled in different media types... */
.ui-tabs-hide {
display: none;
}
}
/* Hide useless elements in print layouts... */
@media print {
.ui-tabs-nav {
display: none;
}
}
/* Skin */
.ui-tabs-nav, .ui-tabs-panel {
font-family: "Trebuchet MS", Trebuchet, Verdana, Helvetica, Arial, sans-serif;
font-size: 12px;
}
.ui-tabs-nav {
list-style: none;
margin: 0;
padding: 0 0 0 4px;
}
.ui-tabs-nav:after { /* clearing without presentational markup, IE gets extra treatment */
display: block;
clear: both;
content: " ";
}
.ui-tabs-nav li {
float: left;
margin: 0 0 0 1px;
min-width: 84px; /* be nice to Opera */
}
.ui-tabs-nav a, .ui-tabs-nav a span {
display: block;
padding: 0 10px;
background: url(../img/tab.png) no-repeat;
}
.ui-tabs-nav a {
margin: 1px 0 0; /* position: relative makes opacity fail for disabled tab in IE */
padding-left: 0;
color: #27537a;
font-weight: bold;
line-height: 1.2;
text-align: center;
text-decoration: none;
white-space: nowrap; /* required in IE 6 */
outline: 0; /* prevent dotted border in Firefox */
}
.ui-tabs-nav .ui-tabs-selected a {
position: relative;
top: 1px;
z-index: 2;
margin-top: 0;
color: #000;
}
.ui-tabs-nav a span {
width: 64px; /* IE 6 treats width as min-width */
min-width: 64px;
height: 18px; /* IE 6 treats height as min-height */
min-height: 18px;
padding-top: 6px;
padding-right: 0;
}
*>.ui-tabs-nav a span { /* hide from IE 6 */
width: auto;
height: auto;
}
.ui-tabs-nav .ui-tabs-selected a span {
padding-bottom: 1px;
}
.ui-tabs-nav .ui-tabs-selected a, .ui-tabs-nav a:hover, .ui-tabs-nav a:focus, .ui-tabs-nav a:active {
background-position: 100% -150px;
}
.ui-tabs-nav a, .ui-tabs-nav .ui-tabs-disabled a:hover, .ui-tabs-nav .ui-tabs-disabled a:focus, .ui-tabs-nav .ui-tabs-disabled a:active {
background-position: 100% -100px;
}
.ui-tabs-nav .ui-tabs-selected a span, .ui-tabs-nav a:hover span, .ui-tabs-nav a:focus span, .ui-tabs-nav a:active span {
background-position: 0 -50px;
}
.ui-tabs-nav a span, .ui-tabs-nav .ui-tabs-disabled a:hover span, .ui-tabs-nav .ui-tabs-disabled a:focus span, .ui-tabs-nav .ui-tabs-disabled a:active span {
background-position: 0 0;
}
.ui-tabs-nav .ui-tabs-selected a:link, .ui-tabs-nav .ui-tabs-selected a:visited, .ui-tabs-nav .ui-tabs-disabled a:link, .ui-tabs-nav .ui-tabs-disabled a:visited { /* @ Opera, use pseudo classes otherwise it confuses cursor... */
cursor: text;
}
.ui-tabs-nav a:hover, .ui-tabs-nav a:focus, .ui-tabs-nav a:active,
.ui-tabs-nav .ui-tabs-unselect a:hover, .ui-tabs-nav .ui-tabs-unselect a:focus, .ui-tabs-nav .ui-tabs-unselect a:active { /* @ Opera, we need to be explicit again here now... */
cursor: pointer;
}
.ui-tabs-disabled {
opacity: .4;
filter: alpha(opacity=40);
}
.ui-tabs-panel {
border-top: 1px solid #97a5b0;
padding: 2px 4px 2px 4px;
background: #fff; /* declare background color for container to avoid distorted fonts in IE while fading */
border: 1px solid #D0D0D0;
border-bottom: 1px solid #A0A0A0;
border-right: 1px solid #A0A0A0;
}
.ui-tabs-loading em {
padding: 0 0 0 20px;
background: url(loading.gif) no-repeat 0 50%;
}
/* Additional IE specific bug fixes... */
* html .ui-tabs-nav { /* auto clear, @ IE 6 & IE 7 Quirks Mode */
display: inline-block;
}
*:first-child+html .ui-tabs-nav { /* @ IE 7 Standards Mode - do not group selectors, otherwise IE 6 will ignore complete rule (because of the unknown + combinator)... */
display: inline-block;
}

View File

@ -0,0 +1,113 @@
/*$Rev: 46 $*/
body {
margin: 0;
padding: 0;
font-family: verdana,arial,helvetica,sans-serif;
font-size: 11px;
color: #4F5155;
}
#content {
margin: 0 20px 0 20px;
line-height: 16px;
padding: 0;
}
h1 {
font-size: 18px;
margin: 0;
padding: 0 0 2px 0;
background-color: #D0D0D0;
text-align: center;
}
h2 {
background-color: #727EA3;
border-right: 1px solid #D0D0D0;
border-bottom: 1px solid #D0D0D0;
color: #FFFFFF;
font-size: 14px;
font-weight: bold;
margin: 14px 0 4px 0;
padding: 1px 10px 1px 10px;
}
ul {
margin-top: 0;
margin-bottom: 0;
line-height:1.5em;
list-style-image:url(bullet.gif);
list-style-type:square;
}
.top {
font-size: 11px;
float: right;
}
.code {
font-size: 11px;
font-family: Monaco, Verdana, Sans-serif;
line-height: 14px;
background-color: #f6f6f6;
border-bottom: 1px solid #D0D0D0;
border-top: 1px solid #A0A0A0;
border-left: 1px solid #A0A0A0;
border-right: 1px solid #D0D0D0;
color: #002166;
display: block;
margin: 2px 0 2px 0;
padding: 2px 10px 2px 10px;
}
.code A:link {color: #002166; text-decoration: none; font-weight: bold;}
.code A:visited {color: #002166; text-decoration: none; font-weight: bold;}
.code A:active {color: #002166; text-decoration: none; font-weight: bold;}
.code A:hover {color: #0000ff; text-decoration: underline; font-weight: bold;}
.code .keyword {
color: #007700;
}
.code .comment {
font-size: 10px;
color: #888;
}
.code .var {
color: #770000;
}
th {
font-family: Lucida Grande, Verdana, Geneva, Sans-serif;
color: #000000;
background-color: #CFD4E6;
margin: 2px 2px 2px 2px;
padding: 2px 2px 2px 2px;
font-size: 13px;
font-weight: normal;
font-style: normal;
}
td {
background-color: #dddddd;
}
.description {
font-family: Lucida Grande, Verdana, Geneva, Sans-serif;
font-size: 11px;
color: #333;
text-ident: 30px;
font-style: normal;
}
.returns {
font-family: Monaco, Verdana, Sans-serif;
font-size: 10px;
color: #888;
float: left;
text-align: right;
margin: 0 4px 0 0;
width: 48px;
}

View File

@ -0,0 +1,116 @@
/* Caution! Ensure accessibility in print and other media types... */
@media projection, screen { /* Use class for showing/hiding tab content, so that visibility can be better controlled in different media types... */
.ui-tabs-hide {
display: none;
}
}
/* Hide useless elements in print layouts... */
@media print {
.ui-tabs-nav {
display: none;
}
}
/* Skin */
.ui-tabs-nav, .ui-tabs-panel {
font-family: "Trebuchet MS", Trebuchet, Verdana, Helvetica, Arial, sans-serif;
font-size: 12px;
}
.ui-tabs-nav {
list-style: none;
margin: 0;
padding: 0 0 0 4px;
}
.ui-tabs-nav:after { /* clearing without presentational markup, IE gets extra treatment */
display: block;
clear: both;
content: " ";
}
.ui-tabs-nav li {
float: left;
margin: 0 0 0 1px;
min-width: 84px; /* be nice to Opera */
}
.ui-tabs-nav a, .ui-tabs-nav a span {
display: block;
padding: 0 10px;
background: url(../img/tab.png) no-repeat;
}
.ui-tabs-nav a {
margin: 1px 0 0; /* position: relative makes opacity fail for disabled tab in IE */
padding-left: 0;
color: #27537a;
font-weight: bold;
line-height: 1.2;
text-align: center;
text-decoration: none;
white-space: nowrap; /* required in IE 6 */
outline: 0; /* prevent dotted border in Firefox */
}
.ui-tabs-nav .ui-tabs-selected a {
position: relative;
top: 1px;
z-index: 2;
margin-top: 0;
color: #000;
}
.ui-tabs-nav a span {
width: 64px; /* IE 6 treats width as min-width */
min-width: 64px;
height: 18px; /* IE 6 treats height as min-height */
min-height: 18px;
padding-top: 6px;
padding-right: 0;
}
*>.ui-tabs-nav a span { /* hide from IE 6 */
width: auto;
height: auto;
}
.ui-tabs-nav .ui-tabs-selected a span {
padding-bottom: 1px;
}
.ui-tabs-nav .ui-tabs-selected a, .ui-tabs-nav a:hover, .ui-tabs-nav a:focus, .ui-tabs-nav a:active {
background-position: 100% -150px;
}
.ui-tabs-nav a, .ui-tabs-nav .ui-tabs-disabled a:hover, .ui-tabs-nav .ui-tabs-disabled a:focus, .ui-tabs-nav .ui-tabs-disabled a:active {
background-position: 100% -100px;
}
.ui-tabs-nav .ui-tabs-selected a span, .ui-tabs-nav a:hover span, .ui-tabs-nav a:focus span, .ui-tabs-nav a:active span {
background-position: 0 -50px;
}
.ui-tabs-nav a span, .ui-tabs-nav .ui-tabs-disabled a:hover span, .ui-tabs-nav .ui-tabs-disabled a:focus span, .ui-tabs-nav .ui-tabs-disabled a:active span {
background-position: 0 0;
}
.ui-tabs-nav .ui-tabs-selected a:link, .ui-tabs-nav .ui-tabs-selected a:visited, .ui-tabs-nav .ui-tabs-disabled a:link, .ui-tabs-nav .ui-tabs-disabled a:visited { /* @ Opera, use pseudo classes otherwise it confuses cursor... */
cursor: text;
}
.ui-tabs-nav a:hover, .ui-tabs-nav a:focus, .ui-tabs-nav a:active,
.ui-tabs-nav .ui-tabs-unselect a:hover, .ui-tabs-nav .ui-tabs-unselect a:focus, .ui-tabs-nav .ui-tabs-unselect a:active { /* @ Opera, we need to be explicit again here now... */
cursor: pointer;
}
.ui-tabs-disabled {
opacity: .4;
filter: alpha(opacity=40);
}
.ui-tabs-panel {
border-top: 1px solid #97a5b0;
padding: 2px 4px 2px 4px;
background: #fff; /* declare background color for container to avoid distorted fonts in IE while fading */
border: 1px solid #D0D0D0;
border-bottom: 1px solid #A0A0A0;
border-right: 1px solid #A0A0A0;
}
.ui-tabs-loading em {
padding: 0 0 0 20px;
background: url(loading.gif) no-repeat 0 50%;
}
/* Additional IE specific bug fixes... */
* html .ui-tabs-nav { /* auto clear, @ IE 6 & IE 7 Quirks Mode */
display: inline-block;
}
*:first-child+html .ui-tabs-nav { /* @ IE 7 Standards Mode - do not group selectors, otherwise IE 6 will ignore complete rule (because of the unknown + combinator)... */
display: inline-block;
}

View File

@ -0,0 +1,11 @@
K 25
svn:wc:ra_dav:version-url
V 51
/svnroot/simplehtmldom/!svn/ver/29/trunk/manual/img
END
tab.png
K 25
svn:wc:ra_dav:version-url
V 59
/svnroot/simplehtmldom/!svn/ver/29/trunk/manual/img/tab.png
END

View File

@ -0,0 +1,62 @@
10
dir
182
https://simplehtmldom.svn.sourceforge.net/svnroot/simplehtmldom/trunk/manual/img
https://simplehtmldom.svn.sourceforge.net/svnroot/simplehtmldom
2008-03-14T14:58:12.908404Z
29
me578022
d0e60b4b-9046-0410-940c-b97530268c78
tab.png
file
2010-08-17T19:13:53.595300Z
83a79d462146a7d0d1ea4dd969101885
2008-03-14T14:58:12.908404Z
29
me578022
has-props
734

View File

@ -0,0 +1,5 @@
K 13
svn:mime-type
V 24
application/octet-stream
END

View File

@ -0,0 +1,17 @@
K 25
svn:wc:ra_dav:version-url
V 50
/svnroot/simplehtmldom/!svn/ver/29/trunk/manual/js
END
jquery-1.2.3.pack.js
K 25
svn:wc:ra_dav:version-url
V 71
/svnroot/simplehtmldom/!svn/ver/29/trunk/manual/js/jquery-1.2.3.pack.js
END
ui.tabs.pack.js
K 25
svn:wc:ra_dav:version-url
V 66
/svnroot/simplehtmldom/!svn/ver/29/trunk/manual/js/ui.tabs.pack.js
END

View File

@ -0,0 +1,96 @@
10
dir
182
https://simplehtmldom.svn.sourceforge.net/svnroot/simplehtmldom/trunk/manual/js
https://simplehtmldom.svn.sourceforge.net/svnroot/simplehtmldom
2008-03-14T14:58:12.908404Z
29
me578022
d0e60b4b-9046-0410-940c-b97530268c78
jquery-1.2.3.pack.js
file
2010-08-17T19:13:53.654303Z
fb49bb7a70d7be19cc6a145146ca7d44
2008-03-14T14:58:12.908404Z
29
me578022
29846
ui.tabs.pack.js
file
2010-08-17T19:13:53.655303Z
14b07b37095bc686e405e7d043fee344
2008-03-14T14:58:12.908404Z
29
me578022
6417

Some files were not shown because too many files have changed in this diff Show More