PHP:将字符串包装成文件对象


PHP: wrapping a string into a file object

快速提问:

所以我写了一堆抓取代码,但是我正在抓取的一个网站没有在标签之间包含换行符。由于我已经编写了一堆代码,所以我使用preg_replace进行了快速修改,并从我离开的地方继续。问题是,fopen()不能处理字符串…

$string = file_get_contents($url);
$string = preg_replace("/>(^'n|'n+)?</", ">'n<", $string);
$file = fopen($string, 'r');
while(($buffer = fgets($file)) != false) { ... }

那么,在不重写循环的情况下,我该如何处理这个呢?

谢谢你的帮助!

Rob

似乎您正在寻找遍历获取的页面的每行。您可以在将其拉入字符串后使用explode()函数将字符串在换行符处分隔成数组来完成此操作:

foreach (explode("'n", $string) as $line) {
    ....
}