2017-04-23 57 views
-1

你們知道在這個preg_match中是否可以刪除冒號「:」後的所有內容?PHP,preg_match去除冒號後的所有內容?

該代碼基於舊數組創建一個新數組。 但價值是在這種格式45656412124:464565445,我只想要的第一部分的價值(45656412124)。

這是我今天該怎麼辦,我覺得有點笨:

$mods = []; 
    foreach($Query->GetRules() as $key => $val) 
     if(preg_match('/MOD\d+_s/ui', $key)) 
       $mods[$key] = $val; 

foreach($mods as $key => $val) { 
    $mods[$key] = strstr($val, ':', true); 
} 
+2

$ mods [$ key] =(explode(':',$ val))[0]; – 2017-04-23 01:02:15

回答

1

我討厭的正則表達式,所以我使用這些簡單分裂爆炸。簡單而乾淨。

$string="45656412124:464565445"; 
$result_array=explode(":",$string); 
echo $result_array[0]; 
1

正則表達式:從起點/^\d+/這裏這個表達式意味着只得到數字(\d+)。

解決方案1:Try this code snippet here

<?php 

ini_set('display_errors', 1); 
$string="45656412124:464565445"; 
preg_match("/^\d+/", $string,$matches); 
echo $matches[0]; 

解決方案2:Try this code snippet here

<?php 
$string="45656412124:464565445"; 
list($firstPart,$secondPart)= explode(":", $string); 
echo $firstPart; 
相關問題