2
我正在从我使用的旧CMS转换一些shortcode信息。在一些文章正文,我需要一些预先存在的标注正则表达式在PHP中返回数组
{image id="27411" shape="landscape" align="right"}
获得ID可以有文本的一个身体内有多个标注这样的。有没有办法将这些信息作为ID数组返回?唯一重要的信息是身份证,其余都是无关紧要的。
我正在从我使用的旧CMS转换一些shortcode信息。在一些文章正文,我需要一些预先存在的标注正则表达式在PHP中返回数组
{image id="27411" shape="landscape" align="right"}
获得ID可以有文本的一个身体内有多个标注这样的。有没有办法将这些信息作为ID数组返回?唯一重要的信息是身份证,其余都是无关紧要的。
如果它总是在格式,使用preg_match_all()
,像这样:
preg_match_all('#\{image id="(\d+)"[^\}]+\}#', $input, $matches);
你的ID阵列将在$matches[1]
。
因此,对于您输入例,这outputs:
array(1) {
[0]=>
string(5) "27411"
}
我认为'{'必须/应该被转义,因为'{...}'划定了重复s pecifiers。这只会是一个错误,因为这里没有任何先例。但它使修改更难。 – PointedEars 2012-07-17 15:21:14
@PointedEars - [它仍然有效](http://viper-7.com/C2aXDK)如果有东西在它之前。虽然这是一个很好的做法,我会更新我的答案,但我相信这是有效的,因为'{'后面没有数字。 – nickb 2012-07-17 15:22:50