php는 정규 표현식을 결합하여 문자열의 숫자를 가져옵니다
<?php $patterns = "/\d+/"; //第一种 //$patterns = "/\d/"; //第二种 $strs="left:0px;top:202px;width:90px;height:30px"; preg_match_all($patterns,$strs,$arr); print_r($arr); /***************运行结果*********************/ //第一种 Array ( [0] => Array ( [0] => 0 [1] => 202 [2] => 90 [3] => 30 ) ) //第二种 Array ( [0] => Array ( [0] => 0 [1] => 2 [2] => 0 [3] => 2 [4] => 9 [5] => 0 [6] => 3 [7] => 0 ) )
php는 지정된 문자열 $a="12345678 시대에 123이 발생했습니다."를 가져옵니다. $a에서 숫자 12345678을 캡처하는 함수를 제공하고, 그렇지 않은 경우 0을 반환합니다.
좋은 함수를 작성하려면
1. 길이가 8인 숫자만 일치합니다.
2. 발견되면 변경된 번호를 반환하고, 발견되지 않으면 0을 반환
function a($str){ return preg_match('/([0-9]{8})/',$str,$a) ? $a[1] : 0; }
인터넷에서 검색해서 테스트해보니 괜찮은데 문자길이가 d{4}나 고정길이가 아니면 안되는군요
function findNum($str=''){ if(empty($str)){return '';} $reg='/(\d{4}(\.\d+)?)/is';//匹配数字的正则表达式 preg_match_all($reg,$str,$result); if(is_array($result)&&!empty($result)&&!empty($result[1])&&!empty($result[1][0])){ return $result[1][0]; } return ''; }
나중에 알고 보니 그중에 한 분이 계셨습니다
$str=trim($str); if (preg_match('|(\d+)|',$str,$r)) return $r[1];
물론 인터넷에서 많은 숫자를 볼 수 있었지만 효과가 있었던 것이 있었기 때문에 다시 테스트하지는 않았습니다.
위 내용은 이 글의 전체 내용입니다. 모두 마음에 드셨으면 좋겠습니다.