Reputation: 6421
I have a string:
$a = "Name[value]";
How do I get the 'Name' and 'value' portions of string into variables from this string? I'm not that great at regular expressions. Thanks!
Upvotes: 1
Views: 2088
Reputation: 17477
Try this:
<?php
$a = "Name[value]";
preg_match('/(?<name>.*?)\[(?<value>.*[^\]]+)/', $a, $matched);
echo '<pre>';
print_r($matched);
?>
output:
Array
(
[0] => Name[value
[name] => Name
[1] => Name
[value] => value
[2] => value
)
Upvotes: 1
Reputation: 2553
<?php
/**
* Regex Quick Extraction - ignore $matches[0];
*/
$a = "Name[value]";
preg_match('/([^\]]*)\[([^\]]*)\]/',$a,$matches);
if(count($matches) > 0) {
print_r($matches);
}
?>
Upvotes: 1
Reputation: 44836
so this should do the trick for you:
(.*)\[(.*)\]
This is the PHP syntax:
<?php
$subject = "Name[value]";
$pattern = '/(.*)\[(.*)\]/';
preg_match($pattern, $subject, $matches);
print_r($matches);
?>
Output:
Array
(
[0] => Name[value]
[1] => Name
[2] => value
)
Enjoy.
Upvotes: 10