Welcome to WebmasterWorld Guest from 54.197.171.28

Forum Moderators: coopster & jatar k

Message Too Old, No Replies

value between square brackets

   
3:04 pm on Dec 24, 2009 (gmt 0)

5+ Year Member



I have a string called $title that contains a random value in square brackets like this: [12A]. can anyone tell me how i can fetch this value in between the open and close square bracket?

thanks

5:13 pm on Dec 24, 2009 (gmt 0)

5+ Year Member



Sounds like a regex solution is needed... try something like this:

$title = "string[12B]";
preg_match("/\[(.*)\]/", $title , $matches);

echo $matches[1];

5:46 pm on Dec 24, 2009 (gmt 0)

5+ Year Member



thanks. works perfect
12:40 am on Jan 1, 2010 (gmt 0)

WebmasterWorld Senior Member themadscientist is a WebmasterWorld Top Contributor of All Time 5+ Year Member Top Contributors Of The Month



Although the posted solution works, depending on the length of the entire string involved it ranges from slightly inefficient to beyond the time most have to do the math for to determine the lack of efficiency...

I would recommend:
preg_match("/\[([^\]]+)\]/", $title , $matches);

Which matches [, followed by 'IsNotABracket', followed by ].

The reason is if the string you are trying to find the match in continues beyond the closing bracket the .* matches the entire string, then has to work backward and forward until all possible matches are found, then the best match is chosen... For more detailed information, see the linked thread or the PHP preg manual.

[webmasterworld.com...]