2017-04-23 18 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]; –

答えて

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; 
関連する問題