2012-10-12 96 views
2

最後的數字我有這個字符串:標籤:domain.com,2012年10月12日:飼料/信道/ ID/335充分利用字符串

我試着去得到這個字符串的最後一個數字到一個變量。這個字符串中的日期也是動態的,但我不需要這個變量。

這裏是我的代碼:

$string = "tag:domain.com,2012-10-12:feed/channel/id/335"; 

preg_match('/tag\:domain\.com,|\d+|-|\d+|-|\d+|\:feed\/channel\/id\/|\d+/', $string, $matches); 


$last_digits = ???  

也許有這樣做的更簡單的方法?

回答

6

這應該工作。

$aParts = explode('/', $string); 
$iId = end($aParts); 
+0

是的,那有效! 謝謝! –

+0

不客氣。 – Ben

0

是的。使用錨定的字符串的末尾:

preg_match('/\d+$/', $string, $matches); 

$表示字符串的結束時,或在多行模式的行)

然後可以檢索這樣的ID:

$last_digits = $matches[0]; 
+0

本·弗朗森代碼工作,但我怎麼會得到使用您的代碼的變量? –

+0

只需'$ id = $ matches [0];'...我會將其編輯到答案 –

0
preg_match('/(\d+)$/', $string, $matches); 

$ - 意味着結束

$匹配[1]將有你的價值

+0

LOL SAME回答如下 – Furry

+0

yeap,我能說什麼,他是更快大聲笑但我沒有我的代碼= P – BeRocket

+0

@Furry Lol;使用全部大寫字母 – Sammaye

0

這應該工作:

$string = "tag:domain.com,2012-10-12:feed/channel/id/335"; 
$pattern = "/\/(\d+)$/"; 
preg_match($pattern, $string, $matches); 

$number = $matches[1]; 

基本上,你問這是一個/和字符串$結束之間的任何數字。

+2

你需要什麼'i'修飾符? –

+0

實際上沒有什麼,因爲沒有字母,大小寫不敏感意味着什麼,只是我猜的壞習慣。編輯。 –