Modifying zFeeder 1.6 to Run on PHP8
So I don’t make a lot of code nerd posts on this blog, but it’s mostly because I am, frankly, not that great a programmer. I like to describe myself as “experienced enough to only break things in weird ways no one expected.” But a lot of my website is run on stupid code that’s just me mucking about until I stumble on a solution, and sometimes I’m looking for a resource online which doesn’t seem to exist.
One of the random scripts I still use is called zFeeder 1.6. It’s an RSS reader, and it’s how I include the most recent Peregrine Lake comic on the front page of TraeDorn.com/TRHOnline.com and a few other things. Now, it’s not a perfect script since it was literally abandoned by its creator like 20 years ago (and there’s an exploit in the admin page — where my solution was to just delete the admin scripts and manage the thing through direct backend file modifications). Importantly though, as written, it doesn’t run on anything more recent than PHP5. And in 2026, you shouldn’t still be running PHP5.
So I needed to fix it.
And let me be clear: I’m not writing this because I think you should use it zFeeder. It’s old as hell, and there are modern solutions to building a script that reads RSS feeds. I’m writing this because someone might already be using it, and might want to keep using it.
And fixing the script so it runs on PHP8 is so fucking easy it would be insane not to document it. There are literally only two code changes you need to make to get the script to run. Just two.
First off, open “zfeeder.php” and just delete this line:
set_magic_quotes_runtime(0);
Magic quotes hasn’t been really a needed thing since PHP4, and starting with PHP7 it’s been removed entirely — so it will literally break any script.
Next, open “includes/zfuncs.php” and find the following function:
function url2file($url)
{
return(ereg_replace(“[^[:alnum:]]”, “_”, $url) . ‘.xml’);
}
In newer versions of PHP, ereg has been replaced with preg, and you just need to replace the function with this:
function url2file($url)
{
return(preg_replace(“/[^[:alnum:]]/”, “_”, $url) . ‘.xml’);
}
That’s it. That’s literally the whole thing. With those two modifications, zFeeder 1.6 should run fine on PHP7 and PHP8.
And also, remove your admin scripts if you haven’t already, okay?













![Nerd & Tie[dot]Social Forums](https://www.nerdandtie.com/wp-content/uploads/2023/11/natsocial-nicepreview-square-300x300.png)
