* Thus wrote [EMAIL PROTECTED]: > The guys in the internals list sent me to this forum. > > I am trying to write some serious parsing software in PHP. I > need to use plain, vanilla PHP and no add-on modules, because I > need to be able to distribute to people who don't have sufficient > privileges. > > In the process of parsing I create a new document composed of > concatenated pieces of the original document. I am efficiently > catting the new document using output buffer, but when I have to > copy non-contiguous pieces form the original document, I am > forced to create substrings, as in: > > echo substr($originalDoc, $startOfSnippet, $snippetLength) > > My documents are potentially large with possibly thousands of > such substrings. I know from writing Java parsers for > high-throughput servers that object creation, and in particular > string creation, is the greatest source of degraded performance. > > I'd like to copy the contents of a substring directly to the > output buffer without creating an intermediate object, as in: > > ob_write($string, $start, $length) > > I can find no such function and could envision no other way to do > this at present. >
I'm not entirely clear at what your trying to do but perhaps you want something like this: function print_substr_direct($string, $start, $len) { static $fp = null; if ($fp === null ) { // Open a connection directly to the output $fp = fopen('php://stdout', 'r'); } if ($fp) { fputs($fp, substr($string, $start, $len)); } } Curt -- First, let me assure you that this is not one of those shady pyramid schemes you've been hearing about. No, sir. Our model is the trapezoid! -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php