ignace Posted July 10, 2007 Share Posted July 10, 2007 I have a file like this: [database] type=mysql server=localhost user= pass= name= [website] title= description="a long description" keywords="a, long, description, in, short" i load this file throught file() which gives me an array where every key is a line from the file. Now, what i want to do through regular expressions is finding the lines which contain a word between the [ and ], so as the backslash is the escape character i tried the following: ^(\[[a-z]\])$ but nothing turns up, probably you guys know why, but i don't, so pls fill me in, i already read a book about regular expressions without any success i also have a cheat sheet doesn't work for me neither thanks in advance, Ignace Quote Link to comment Share on other sites More sharing options...
Wildbug Posted July 10, 2007 Share Posted July 10, 2007 /^(\[[a-z]\])$/ The above regular expression will match "[g]" but not "[global]" because there is no quantifier after the character class ("[a-z]"). You probably want to use the "+" quantifier: one or more characters. To match all bracketed content quickly, you can read the file into a string and match them all at once: <?php $contents = file_get_contents("file.ini"); preg_match_all('/^\[(.*)\]$/', $contents, $matches); print_r($matches[1]); ?> Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.