View Single Post

  #1 (permalink)  
Old 07-15-2003
Bob Brown
 
Posts: n/a
Default Regex to match ALL characters?

Hi All,

I'm trying to parse an Apache httpd.conf file to read the 'Alias' sections
using PHP. Take the one below for example. I have worked out a regex to
get the '/icons/' and the path [eregi('^alias (\/[a-z0-9]+/)
"([a-z:/ ]+)"',trim($line),$regs)] and that works fine, however what I now
want to do is match everything in the <Directory></Directory> section below
that.

I read that the character '.' matches all characters except for a \n (new
line) so I have the httpd.conf file in a string and I've replaced all the
\n's with "@NL@" so there's no \n's to trip up the '.'

But I've got something wrong because it doesn't work! The value of
$alias['/icons/']['path'] is C:/Program Files/Apache Group/Apache/icons/
(checked and confirmed)

if (eregi('<Directory
"'.$alias['/icons/']['path'].'">(.*)</Directory>',$httpd_conf,$regs)) {
echo $regs[1];
}

Here's the section from httpd.conf.

Alias /icons/ "C:/Program Files/Apache Group/Apache/icons/"

<Directory "C:/Program Files/Apache Group/Apache/icons">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>

Any ideas?

Cheers!

--
Bob Brown, IT Consultant,
Somewhere in the U.K.
http://www.guru.net.nz/


Reply With Quote