2013-05-05 2 views
0

문자열에서 가격을 찾고 html 태그를두기 위해 정규 표현식을 공식화하려고합니다. 나는이 함께 왔어요 :reg ex string에서 가격을 얻고 PHP에서 html 태그를 추가하십시오.

$pattern = '/([1-9][0-9]*[,|.][0-9]{2})/i'; 
    $replace = "<p>$1</p>"; 

    $string = preg_replace($pattern, $replace, $string); 

이 내가이 등록 전직 무시 할 수있는 방법 22123 개 나타납니다 같은도

<p>22,12</p>3 

로 변경 될 경우를 제외하고 지금까지 대부분의 경우 잘 작동 두 자리 이상의 숫자?

답변

0

당신은 그것의 끝에 negative lookahead를 추가 할 수 있습니다

$pattern = '/([1-9][0-9]*[,|.][0-9]{2})(?!\d)/i'; 

이 경기 후 나타나는 숫자를 중지합니다. (모든 [0-9]들 그런데, \d의 될 수 있습니다.)

It works!

+0

고마워요! 그렇습니다! – aushilfe444

+0

오, 그리고'[, |.]'에 대해서 -'',''또는'.'을 의미한다면'[,.]'입니다. – Ryan