################################################################### ## ## Plugin for htmlArea, to run code through the server's HTML Tidy ## By Adam Wright, for The University of Western Australia ## This is the server-side script, which dirty code is run through. ## ## Distributed under the same terms as HTMLArea itself. ## This notice MUST stay intact for use (see license.txt). ## // Get the original source $source = $_POST['htisource_name']; $source = stripslashes($source); // Open a tidy process - I hope it's installed! $descriptorspec = array( 0 => array("pipe", "r"), 1 => array("pipe", "w"), 2 => array("file", "/dev/null", "a") ); $process = proc_open("tidy -config html-tidy-config.cfg", $descriptorspec, $pipes); // Make sure the program started and we got the hooks... // Either way, get some source code into $source if (is_resource($process)) { // Feed untidy source into the stdin fwrite($pipes[0], $source); fclose($pipes[0]); // Read clean source out to the browser while (!feof($pipes[1])) { //echo fgets($pipes[1], 1024); $newsrc .= fgets($pipes[1], 1024); } fclose($pipes[1]); // Clean up after ourselves proc_close($process); } else { // Better give them back what they came with, so they don't lose it all... $newsrc = "
\n" .$source. "\n"; } // Split our source into an array by lines $srcLines = explode("\n",$newsrc); // Get only the lines between the body tags $startLn = 0; while ( strpos( $srcLines[$startLn++], '