PHP,preg_match删除冒号后的所有内容?

时间:2017-04-23 00:58:30

标签: 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 个答案:

答案 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;

答案 1 :(得分:1)

我讨厌正则表达式所以我在这些简单的分裂中使用了爆炸。简单干净。

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