2012-04-04 82 views
2

我有一個文本塊,我需要喲找到像文本的位: {滑塊:1} {視頻ALT:10}正則表達式幫助PHP

我的代碼

該位
$regex = '/{[ ]*(slider)|(slider-alt)|(video)[ ]*:[0-9]+[ ]*}/'; 
     $matches = array(); 
     preg_match_all($regex, $row->content, $matches); 

但返回的數組是全亂了......

陣列輸出:

Array ([0] => {slider [1] => {slider [2] => video:2}) 
Array ([0] => slider [1] => slider [2] =>) 
Array ([0] => [1] => [2] =>) 
Array ([0] => [1] => [2] => video) 

對於輸入:

{slider:6} 
{slider-alt:2} 
{video:2} 

任何幫助嗎?

回答

2

您的正則表達式很混亂。

$regex = '/{ *(slider|slider-alt|video) *:\d+ *}/'; 
$matches = array(); 
preg_match_all($regex, $row->content, $matches); 
+0

謝謝,但這仍然做到這一點...我已經更新了你的更改結果anwser。 – jribeiro 2012-04-04 07:22:36

+0

你的更新答案在哪裏? var_dump($ matches [0]);'給出array {3} {[0] => string(10)「{slider:6}」[1] => string(14)「{slider-alt:2 }「[2] => string(9)」{video:2}「}' – meze 2012-04-04 07:23:43

+0

抱歉它現在在那裏;) – jribeiro 2012-04-04 07:24:07