2013-06-20 1 views
4

내가어떻게

$str = ".block_1 {width:100px;}.block_2 {width:200px;}.block_3 {width:300px;}"; 

나는이 공식에 따라 백분율 값으로 픽셀 값을 대체 할 (pixelvalue/960) * 100

내가 그 다음 문자열을 알고있다 preg_replace이다 PHP를 내부에서 수학을 만들려면 그러한 정규 표현식 ([0-9] + px)을 사용하면 모든 값 + 픽셀을 찾을 수 있지만 그 다음에 그것을 다시 (pixelvalue/960) * 100으로 교체해야합니다. '%'

어떤 의미인지 그리고 어떤 도움을 주셔서 감사합니다.

좋아, 여기에 솔루션입니다 :

$str = preg_replace_callback(
     '([0-9]+px)', 
     function ($matches) {    
      return ((str_replace('px','',$matches[0])/960)*100).'%'; 
     }, 
     $str 
    ); 
    echo $str; 

답변

9
+1

아름다운 봐 되세요, 감사합니다! 누군가가 필요하면 코드를 게시했습니다 – devjs11

+0

당신이 나를 위해 그것을 확인할 수 있습니까? – devjs11

+0

@Alex : 천만에. 귀하의 코드가 나에게 맞는 것 같습니다. – Toto