0

我需要一个正则表达式,它可以从某个字符串中找到括号并从中提取 id 的值。例如:

$string = "Hey how are you, this is [ads id=432] going to be fun!";

我需要 name likeads和 id like 432

以及如何用其他值替换这些括号,例如$ads = "ads here";

4

2 回答 2

1
$regexp = "#\[(?<name>[^\]]+) id=(?<id>[0-9]+)\]#";

例子

<?php
   $regexp = "#\[(?<name>[^\]]+) id=(?<id>[0-9]+)\]#";
   $string = "Hey how are you, this is [ads id=432] going to be fun!";
   preg_match($regexp, $string, $match);
   print_r($match);
?>

Array
(
    [0] => [ads id=432]
    [name] => ads
    [1] => ads
    [id] => 432
    [2] => 432
)
于 2012-07-16T08:33:28.900 回答
0

(?<=\[ads\s+id=)(\d+?)(?=\]) 如果您需要类似广告的想法,请使用此正则表达式将此`(?<=\[)(\w+)\s+id=(\d+?)(?=\])名称和值用于正则表达式组

于 2012-07-16T08:32:47.163 回答