Jump to content

[SOLVED] Regular Expressions


ignace

Recommended Posts

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 :D

 

thanks in advance,

Ignace

Link to comment
https://forums.phpfreaks.com/topic/59230-solved-regular-expressions/
Share on other sites

/^(\[[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]);

?>

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.