Newsgroup: it.comp.www.php
Titolo: Creare un validatore automatico w3c interno al proprio sito.

Salve, ho creato una paginetta di servizio per il check w3c xhtml del mio
sito ma in manuale,
se avete due secondi date un'occhiata, ma vorrei che tutte le pagine fossero
scannerizzate
in automatico e che ritornasse il loghetto nel caso di validazione e un
altro loghetto nel caso
della non validazione. con xhtml o php si può fare qualcosa?
o meglio cosa prendere come riferimento per il valore validato o non
validato dal w3c
service e come poterlo implementare (se è pure legalmente possibile farlo)?
Si dovrebbe leggere ed analizzare qualcosa di diverso all'interno del html
che produce la pagina validata, quindi prenderlo e creare un "if" trovi
questo testo all'interno metti questo qua "validato", altrimenti...metti
quello "non validato.."...mmm...per fare un esempio..
http://www.nyoworks.com/control.php
-- 
.:~:..:~:..:~:..:~:..:~:..:~:..:~:..:~:
Nicolò Armato
Nyoworks Multimedia Designer
.:~:..:~:..:~:..:~:..:~:..:~:..:~:..:~:
www.nyoworks.com
.:~:..:~:..:~:..:~:..:~:..:~:..:~:..:~:
-- 
.:~:..:~:..:~:..:~:..:~:..:~:..:~:..:~:
Nicolò Armato
Nyoworks Multimedia Designer
.:~:..:~:..:~:..:~:..:~:..:~:..:~:..:~:
www.nyoworks.com
.:~:..:~:..:~:..:~:..:~:..:~:..:~:..:~:

 un altro loghetto nel caso della non validazione. 
Dai una letta qui:
http://www.php.net/fsockopen
http://www.php.net/curl
http://www.php.net/file
 o 
http://www.php.net/readfile
-- 
I am what I am, I do what I can
Cerchi un programmatore PHP/MySQL? 
http://url.repository.biz/go/1Y
L'uomo, conscio di sbagliare, persevera.

mmm...ti ringrazio ma per le mie attuali conoscenze di php la vedo molto
dura.....
allora vediamo....se i passaggi ci sono tutti...
1. dovrei fare il submit  da codice e salvarlo da qualche parte
2. dovrei caricare il file sorgente html che restituisce il w3c dopo il
submit
3. dopodichč caricare l'intero file come stringa e ricercare una determinata
frase all'interno "che č sempre differente dalla pagina non validata"
4. con una condizione if scannerizzare la stringa č dare come risultato un
valore true (validato) collegato al logo xhtml.
5. nel caso di mancato ritrovamento restituisce il valore false (non
validato) collegato ad un'altra immagine.
6. cancellare il file temporanea di ricerca.
7. proseguire per la prossima verifica...
se ci siamo....mi daresti ulteriori dettagli per implementarlo in php?
-- 
.:~:..:~:..:~:..:~:..:~:..:~:..:~:..:~:
Nicolň Armato
Nyoworks Multimedia Designer
.:~:..:~:..:~:..:~:..:~:..:~:..:~:..:~:
www.nyoworks.com
.:~:..:~:..:~:..:~:..:~:..:~:..:~:..:~:
"Setec Astronomy" <setec@_NO_NOSPAM_freemail.it> ha scritto nel messaggio
news:a_A7c.85984$FJ6.3...@twister1.libero.it...


 
Mi piace il tuo progetto! ;-)
Lo vedo più come un esercizio, perché ci sono un sacco di modi già 
pronti per fare quanto desideri.
Io ad esempio uso checky di Mozilla o le funzioni di analisi di tutto il 
sito del W3c stesso.
comunque...
Ci sono dei problemi:
se usi html o pagine php che non cambiano il proprio contenuto
in base a variabili GET o POST o altro va ancora bene.
Altrimennti ti metti in un bel ginepraio.
Per capirci se hai pagine gestite come PHP-Nuke o simili
per i quali in base alla variabile $_GET['op'] cambia completamente il 
contenuto di pagina... allora è un problema serio.
Neanche Google si avventura in URL dinamici se non linkati da una pagina 
statica.
Posto che tu abbia pagine html o php abbastanza costanti il processo può 
essere questo.
1) Fai browsing dei file del tuo sito
Per tutti i files di estensione .php o .hmt o html
metti il nome dento un array (ad es $miei_file[] )
2) Per ogni file, fai leggere il file al php e ti metti il contenuto
dentro una variabile $buffer
$buffer= join('', file($miei_file[$i]));
3)mandi il buffer al W3C... vedi tu come... l'importante è che come 
return abbia la pagina verdetto del W3C
4)Studiati l'HTML dei "verdetti" possibili W3C e ti scrivi delle frasi 
da intercettare tramite funzioni ereg o simili.
5) a seconda di come è andata la validazione stampi a video il nome file 
e il loghetto opppure qualcosa'altro.
Se preferisci metti tutto in variabile $OUT.=" bla bla"
Prosegui col prossimo file (punto 2)
alla fine hai la tua pagina, occhio al timeout di PHP (30 sec di 
default) se è il caso forzalo via ini_set oppure con altra funzione (non 
ricordo... cercala)
Questo è un modo, fammi sapere ( e magari se ti va condividi lo script!)
ciao
Marcello


Prima ci devo riuscire ^_^'
-- 
.:~:..:~:..:~:..:~:..:~:..:~:..:~:..:~:
Nicolò Armato


 se ci siamo....mi daresti ulteriori dettagli per implementarlo in php?
function validator ($url = "")
{
	$parse_rules = array ( 
						   array ("check_string" => "This Page Is Valid XHTML 1.0
Transitional!",
								  "result" => "XHTML 1.0",
								  "strip_tags" => true) 
						 );
	$url = str_replace("http://", "", $url);
	$validator_url = "
http://validator.w3.org/check?uri=
" .
urlencode($url);
	$parse_arr = @file ($validator_url);
	$parse_to_string = implode ("", $parse_arr);
 
	$result = "";
	$founded = false;
	foreach ($parse_rules as $parse_rule)
	{
		if ($parse_rule["strip_tags"])
		{ $parse_string = strip_tags ($parse_to_string); }
		if (strpos ($parse_string, $parse_rule["check_string"]) !== false)
		{
			$result = $parse_rule["result"];
			$founded = true;
			break;
		}
	}
 
	if (!$founded)
	{ return false; }
	return $result;
}
$test_url = "
www.nyoworks.com/media.php
";
print ($test_url . " is " . validator ($test_url));
?>


Stupendo! Almeno ora me la posso studiare su un caso concreto, evvai :))))
Grazie 1.000.000!!!
