preg_replace修剪除整数之外的所有内容和:(冒号)

时间:2011-11-24 05:59:48

标签: php regex

想问一下如何在PHP中编写一个preg_replace来删除除整数之外的所有内容,':'(遇到第一个冒号)。

一个例子:

一(1)只狗:四(4)只猫共享饮料,花费0.40美元或40美分。

1:4

1 个答案:

答案 0 :(得分:1)

以下是两个例子:

    $input  = 'one (1) dog : four (4) cat sharing a drink costing USD0.40 or 40 cents.';
    $regex  = '~.*?(?P<first>\d+).*?:.*?(?P<second>\d+).*~s';
    $result = preg_replace($regex, '$1:$2', $input);

    echo $result;

    if (preg_match($regex, $input, $matches)) {
      $result = $matches['first'] .':'. $matches['second'];
    }

preg_replace()和preg_match()都会得到相同的结果。