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 Link to comment https://forums.phpfreaks.com/topic/59230-solved-regular-expressions/ 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]); ?> Link to comment https://forums.phpfreaks.com/topic/59230-solved-regular-expressions/#findComment-294255 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.