想问一下如何在PHP中编写一个preg_replace来删除除整数之外的所有内容,':'(遇到第一个冒号)。
一个例子:
一(1)只狗:四(4)只猫共享饮料,花费0.40美元或40美分。
到
1:4
答案 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()都会得到相同的结果。