| 1 |
<?php |
| 2 |
|
| 3 |
namespace Masterminds\HTML5\Parser; |
| 4 |
|
| 5 |
/** |
| 6 |
* The FileInputStream loads a file to be parsed. |
| 7 |
* |
| 8 |
* So right now we read files into strings and then process the |
| 9 |
* string. We chose to do this largely for the sake of expediency of |
| 10 |
* development, and also because we could optimize toward processing |
| 11 |
* arbitrarily large chunks of the input. But in the future, we'd |
| 12 |
* really like to rewrite this class to efficiently handle lower level |
| 13 |
* stream reads (and thus efficiently handle large documents). |
| 14 |
* |
| 15 |
* @deprecated since 2.4, to remove in 3.0. Use a string in the scanner instead. |
| 16 |
*/ |
| 17 |
class FileInputStream extends StringInputStream implements InputStream |
| 18 |
{ |
| 19 |
/** |
| 20 |
* Load a file input stream. |
| 21 |
* |
| 22 |
* @param string $data The file or url path to load. |
| 23 |
* @param string $encoding The encoding to use for the data. |
| 24 |
* @param string $debug A fprintf format to use to echo the data on stdout. |
| 25 |
*/ |
| 26 |
public function __construct($data, $encoding = 'UTF-8', $debug = '') |
| 27 |
{ |
| 28 |
// Get the contents of the file. |
| 29 |
$content = file_get_contents($data); |
| 30 |
|
| 31 |
parent::__construct($content, $encoding, $debug); |
| 32 |
} |
| 33 |
} |
| 34 |
|