2015-01-18 3 views
-1

기본적으로 while 문이 있으며 선택한 텍스트가 너무 길면 20 자 정도의 간격이 추가됩니다.while 문 내에서 단어 줄 바꾸기

시도를했지만 작동하지 않습니다. 텍스트가 20 개 이상의 문자 경우이 가진 가장 큰 문제는 분할 이외의 지역에 갈 것이다, 모바일에

내 전체 계산서 동안 :. 내가 시도했으나 '년후

while ($field = $result->fetch_assoc()) { 
    if ($columnCount < 10) { 
     $text = $field["text"]; 
     $newtext = wordwrap($text, 20, "<br />\n"); 
     echo ' 
      <div class="well"> 
       <div class="row"> 
        <div class="col-xs-10"> 
         '.$newtext.'<br /><br /><a class="link" href="view.php?id='.$field["id"].'"><b>'.$field["name"].'</b> - '.time_elapsed_string($field["timestamp"]).'</a> 
        </div> 
        <div class="col-xs-2 text-center counter"> 
         <form action="like.php?id='.$field["id"].'" method="POST" style="margin-bottom:0px;margin-top:-8%;"> 
          <button class="btn btn-primary btn-sm" type="submit" name="submit" id="submit">&#9650</button><br /> 
          <input type="hidden" name="id" value="'.$field["id"].'"> 
         </form> 
         <div class="well well2 text-center" style="padding:0px;margin-bottom:0px;width:100% !important;"> 
          '.$field["likes"].' 
         </div> 
         <form action="dislike.php?id='.$field["id"].'" method="POST"> 
          <button class="btn btn-primary btn-sm" type="submit" name="submit" id="submit">&#9660;</button><br /> 
          <input type="hidden" name="id" value="'.$field["id"].'"> 
         </form> 
        </div> 
       </div> 
      </div>'; 
     $columnCount++; 
    } 
} 

정확하게 작동하게하는 방법을 알려주십시오. 여기에는 오류가 없으며 텍스트와 함께 나타납니다. 그러나 20 자 정도가 지나면 줄 바꿈이 없습니다.

다음은 20 자 이상으로 표시되고 중단되지 않은 결과 중 하나의 이미지입니다. 내가 근원을 볼 경우, 휴식도 없습니다.

enter image description here

편집 : 모바일에의 이미지를 게시 할 것이지만, 지금은 할 수 없습니다. 기본적으로 텍스트는 상자 밖으로 완전히 들어가서 안에 머무를 수 없습니다. 그것은 페이지와 모든 것을 벗어날 것입니다.

답변

1

시도 :

$newtext = wordwrap($text, 20, "<br />\n", true); 

true는 상관없이 긴 문자열의 파괴를 강제하지하는 데 필요합니다.

자세한 내용은 PHP docs for wordwrap에 있습니다.

또는 try chunk_split

+0

완벽하게 작동했습니다. 고맙습니다! :) –