how do I use php://memory?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I have a function that uses tidy to attempt to clean up a bunch of crappy HTML that I inherited.  In order to use tidy, I write the crappy HTML to a temporary file on disk, run tidy, and extract and return the clean(er) HTML.  The program itself works fine but with all of the disk access, it runs quite slowly.  I saw on this page (http://www.php.net/manual/en/wrappers.php.php) that I could write to memory by using php://memory.  Unfortunately, I could not quite get it to work.  The problem is that in the below function, the code within the [[[if (file_exists($dirty_file_path))]]] does not get run if I change [[[$dirty_file_path]]] to "php://memory".  Has anyone ever successfully used php://memory before?  If so, what can I do to use it in my code?  Thank you.


//==========================================================
function cleanUpHtml($dirty_html, $enclose_text=true) {

	$parent_dir = "/filesWrittenFromPHP/";
	$now = time();
	$random = rand();
	
	//save dirty html to a file so tidy can process it
	$dirty_file_path = $parent_dir . "dirty" . $now . "-" . $random . ".txt";
	$dirty_handle = fopen($dirty_file_path, "w");
	fwrite($dirty_handle, $dirty_html);
	fclose($dirty_handle);

	$cleaned_html = "";
	$start = 0;
	$end = 0;

	if (file_exists($dirty_file_path)) {
		exec("/usr/local/bin/tidy -miq -wrap 0 -asxhtml --doctype strict --preserve-entities yes --css-prefix \"tidy\" --tidy-mark no --char-encoding utf8 --drop-proprietary-attributes yes  --fix-uri yes " . ($enclose_text ? "--enclose-text yes " : "") . $dirty_file_path . " 2> /dev/null");

		$tidied_html = file_get_contents($dirty_file_path);
		
		$start = strpos($tidied_html, "<body>") + 6;
		$end = strpos($tidied_html, "</body>") - 1;
		
		$cleaned_html = trim(substr($tidied_html, $start, ($end - $start)));
	}
	
	unlink($dirty_file_path);


	return $cleaned_html;
}
//==========================================================


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux