2017-04-23 6 views
-1

Wissen Sie, ob es möglich ist, alles nach dem Doppelpunkt ":" in diesem preg_match zu entfernen?PHP, preg_match, um alles nach dem Doppelpunkt zu entfernen?

Der Code erstellt ein neues Array basierend auf einem alten Array. Aber der Wert ist in diesem Format 45656412124:464565445 und ich möchte nur den ersten Teil des Wertes (45656412124). Diese

ist, wie ich heute, und ich fühle mich ein bisschen dumm:

$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] = (explodieren (':', $ val)) [0]; –

Antwort

1

Ich hasse Regex so verwende ich in dieser einfachen Splits explodieren. Einfach und sauber.

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

Regex:/^\d+/ hier diese regex bedeutet nur Ziffern bekommen (\d+) vom Start.

Lösung 1:Try this code snippet here

<?php 

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

Lösung 2:Try this code snippet here

<?php 
$string="45656412124:464565445"; 
list($firstPart,$secondPart)= explode(":", $string); 
echo $firstPart; 
Verwandte Themen