我正在尝试在WordPress中制作类似短代码的东西,我正在寻找一个正则表达式,它可以采用类似[title:This is a title]
的东西并将其转换为This is a title
。
如果有人可以建议一种方法来获取类似 [code:some code]
并将其转换为以下形式的数组,那也将很有用 数组( [0] => '代码' [1] => "一些代码")或 数组( "代码" => "一些代码"
我尝试了我在这里和那里找到的几个不同的正则表达式,但它们似乎都不起作用。
谢谢
preg_replace('/'[.*?:(.*?)']/', '$1', $str);
代码板。
如果要捕获冒号之前的文本,只需将其括在括号中,它就会成为捕获组 1。
更新
我想使用
preg_match
而不是preg_replace
您希望使用preg_match_all()
来获取所有匹配项。
preg_match_all('/'[(.*?):(.*?)']/', $str, $matches);
艾德奥内。
或者,您可以为它们指定命名的捕获组。
preg_match_all('/'[(?P<identifier>.*?):(?<body>.*?)']/', $str, $matches);
艾德奥内。