2017-11-03 2 views
1

입력 필드에서 값을 가져 와서 첫 번째 숫자를 찾아 번호 이전의 모든 문자를 제거해야합니다.문자열의 시작 부분에 숫자가 아닌 문자를 제거하십시오.

하지만 숫자를 그대로 두어야합니다.

몇 가지 옵션을 시도했지만 할 수 없었습니다.

아이디어가 있으십니까?

어디에서 첫 번째 번호를 찾을 수 있었는지 알 수있었습니다. 하지만 그 전에 모든 것을 제거하려고 할 때, 나는 endup뿐만 아니라 첫 번째 숫자를 제거하거나 (기간 및 쉼표와 같은) 다른 물건

다음

내가 첫 번째 숫자 위치를 가지고 어떻게 제거 :

$stringPrice = '__.500,00'; 
if(preg_match('/[0-9]/', $stringPrice, $positionNum, PREG_OFFSET_CAPTURE)) { 
    echo "First number is at " . $positionNum[0][1]; 
} else { 
    echo "Invalid value"; 
} 
+0

시도한 내용이 표시되지 않기 때문에 사람이 다운볼트합니다. 시도하지 않은 사람들을 돕는 것은 좋지 않습니다. 만약 당신이 어떤 코드를 가지고 있다면, 사람들이 기꺼이 당신을 도울 것입니다. –

+0

나는 정규식과 preg-match를 시도했기 때문에 관련 주제로 사용했습니다. downvoting하기 전에 코드를 요청하지 않는 것이 좋습니다. –

+0

나는 downvote하지 않았다, 나는 왜 사람들이 여기 downvote 이유를 설명합니다. 당신이 시도했다고 말하면, 당신의 시도가 끝나면 모두 행복해집니다. :) –

답변

2

을 현재 문제는 모든 숫자가 아닌 문자를 문자열 시작 부분에서 첫 번째 숫자까지 제거하는 것입니다.

사용

preg_replace('/^\D+/', '', $stringPrice); 

는 참조 PHP demo

^는 반드시 일치하는 문자열의 시작에서 시작 \D+가 숫자가 아닌 하나 이상의 문자와 일치합니다.

+1

'd +'대신 'd'로 시도했습니다. –

관련 문제