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