2011-08-19 6 views
0
package { 
    import flash.display.Sprite; 
    import flash.text.TextField; 

    public class test extends Sprite 
    { 
     private var _textFiled:TextField; 
     public function test() 
     { 
      _textFiled = new TextField(); 
      _textFiled.text = ". 2011年8月15日晚,据传<a href='http://www.google.com.hk'>Google</a> 将以 <font size = '12'>40 </font> 美元现金每股,总价 125 亿美元,收购摩托罗拉移动"; 
      _textFiled.width = 300; 
      _textFiled.wordWrap = true; 
      _textFiled.multiline = true; 
      var st:String = ""; 
      for (var i:int = 0; i < _textFiled.numLines; i++) { 
       var s:String = _textFiled.getLineText(i) + "\n "; 
       st += s; 
      } 
      _textFiled = new TextField(); 
      _textFiled.width = 300; 
      _textFiled.wordWrap = true; 
      _textFiled.multiline = true; 
      _textFiled.htmlText = st; 

      addChild(_textFiled); 
     } 
    } 
} 

지금 내가 textfiled 현실을 텍스트를 사용하려면, 이러한 수요가 도움을 ..... 라인을 textfiled 텍스트가 알아, 내가 후 TAB에 맞춰 생각, HTML 코드를 포함 하는 getLineText 방법 중 하나 textfiled 한 다음 다시 "\의 t"플래시가

var strText:string = ""; 
for(var i:int =9;i<textfile.numLine;i++) { 

    var str:String = textfiled.getlineText(i) + "\t"; 
    strText += str; 
} 
textfile.htmlText = strText ; 

을 추가하지만 이것은 단지 텍스트, HTML 코드를 필터링을 얻을 수있다, 나는 감사합니다, 질문을 여기에 중국에서 처음으로 올 각자 모두.

+0

잘못되었습니다, var st : String = ""; for (var i : int = 0; i <_textFiled.numLines; i ++) { var s : String = _textFiled.getLineText (i) + "\ t"; st + = s; } –

+0

정확히 무엇을 요구하고 있습니까? –

+0

미안 해요, 하하, 내가 명확하게 언급하지 않았습니까? textfiled 프런트에 "\ t"더하기를 원하지만이 텍스트 파일에 HTML 문자가 포함되어 있어야합니까? –

답변

0

탭은 html로 표시되지 않습니다. 공백이 여러 개 있으면 필요에 따라 &nbsp;을 입력하십시오. 탭이 줄의 중간에 필요한 경우 실제로 필요한 공간의 수를 계산해야합니다. 이 경우 플래시를 사용할 때 각 열에 하나씩 여러 TextField를 만드는 것이 더 쉬울 것입니다.

0

내가 묻는 바가 확실하지 않지만 HTML 서식을 잃지 않으려면 _textFiled.htmlText을 사용하여 텍스트를 가져와야합니다. 그런 다음 한 줄씩 읽으 려한다면 <p><br>이 새로운 줄을 만들기 때문에 매우 까다 롭습니다.

var lines:Array = _textFiled.htmlText.split("<br>"); 
for(var i:int =9;i<lines.length;i++) { 

    var str:String = lines[i] + "\t"; 
    strText += str; 
} 

을 그러나 다시, 그것은 입력에 따라 달라집니다 - 그것은 생성 된 사용자 인 경우에, 당신이해야 할 더 많은 분석이있다 : 귀하의 의견에 따라, 어쩌면 당신은 <br> 태그로 문자열을 분할 할 수 있습니다. 그렇지 않다면, HTML이 어떻게 포맷 될지를 아는 것이 훨씬 쉽습니다.

+0

답장을 보내 주셔서 감사합니다. –

+0

var lines : Array = _textFiled.htmlText.split ("
"); 그래서 "
" –

+0

을 얻을 수 없습니다. htmltText에 textfiled가 있기 때문에 < br/>을 포함하지 마십시오. –

관련 문제