获取字符前后的符号“ - 或/”在php中

时间:2011-12-20 05:55:04

标签: php regex

我有这个代码:170-83746 / 2189

所以创建一个函数,这样我就可以获得破折号之前的值170和破折号之后的值83746以及斜杠之后的值2189

我已经阅读过PHP中的正则表达式,但我无法理解那件事

请帮帮我

感谢您的解决方案,我在您的帮助下以自己的风格出来。这是我的代码:

$number = "170-83746/2189";

function slice_trim($num, $symbol) {

  if($symbol=='/')
  $reg = '#/(\d+)#';
  else
  $reg = '#(\d+)-#';

  preg_match($reg, $num, $match);

  return str_replace($symbol,"",$match[0]);
}


echo slice_trim($number,"/");

2 个答案:

答案 0 :(得分:2)

if (preg_match('#(\d+)-(\d+)/(\d+)#', $number, $matches)) {
    echo $matches[1] . ', ' . $matches[2] . ', ' . $matches[3];
}

要了解正则表达式(您确实应该这样做),请参阅http://regular-expressions.info

答案 1 :(得分:1)

另一种方法是使用preg_split

$number = "170-83746/2189";

$res = preg_split('#[/-]#', $number);
print_r($res);

<强>输出:

Array
(
    [0] => 170
    [1] => 83746
    [2] => 2189
)