我有一长串(DNA序列)。它不包含任何空白字符。

例如:

ACTGATCGAGCTGAAGCGCAGTGCGATGCTTCGATGATGCTGACGATGCTACGATGCGAGCATCTACGATCAGTCGATGTAGCTAGTAGCATGTAGTGA

什么是CSS选择器,迫使这个文本被包装在html:textarea或在xul:文本框?


当前回答

如果你使用的是PHP,那么wordwrap函数可以很好地工作: http://php.net/manual/en/function.wordwrap.php

CSS解决方案word-wrap: break-word;在所有浏览器中似乎不一致。

其他服务器端语言也有类似的功能——或者可以手工构建。

下面是PHP wordwrap函数的工作原理:

$string = "ACTGATCGAGCTGAAGCGCAGTGCGATGCTTCGATGATGCTGACGATGCTACGATGCGAGCATCTACGATCAGTCGATGTAGCTAGTAGCATGTAGTGA";

$wrappedstring = wordwrap($string,50,"<br>",true);

使用<br>标记将字符串包装为50个字符。'true'参数强制字符串被切断。

其他回答

我的方法(当没有合适的方法插入特殊字符)通过CSS:

-ms-word-break: break-all;
word-break: break-all;
word-break: break-word;
-webkit-hyphens: auto;
-moz-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;

网址:http://kenneth.io/blog/2012/03/04/word-wrapping-hypernation-using-css/ 还有一些额外的研究。

如果你使用的是PHP,那么wordwrap函数可以很好地工作: http://php.net/manual/en/function.wordwrap.php

CSS解决方案word-wrap: break-word;在所有浏览器中似乎不一致。

其他服务器端语言也有类似的功能——或者可以手工构建。

下面是PHP wordwrap函数的工作原理:

$string = "ACTGATCGAGCTGAAGCGCAGTGCGATGCTTCGATGATGCTGACGATGCTACGATGCGAGCATCTACGATCAGTCGATGTAGCTAGTAGCATGTAGTGA";

$wrappedstring = wordwrap($string,50,"&lt;br&gt;",true);

使用<br>标记将字符串包装为50个字符。'true'参数强制字符串被切断。

使用超级>标签:

ACTGATCG<wbr>AGCTGAAG<wbr>CGCAGTGC<wbr>GATGCTTC<wbr>GATGATGC

我认为这比使用零宽度空间更好&#8203;这可能会导致问题,当你复制文本。

对于块元素:

< textarea风格= "宽度:100 px;自动换行:break-word;" > ACTGATCGAGCTGAAGCGCAGTGCGATGCTTCGATGATGCTGACGATGCTACGATGCGAGCATCTACGATCAGTC textarea > < /

对于内联元素:

<跨风格= "宽度:100 px;自动换行:break-word;显示:inline-block;" > ACTGATCGAGCTGAAGCGCAGTGCGATGCTTCGATGATGCTGACGATGCTACGATGCGAGCATCTACGATCAGTC < / span >

对我来说这是可行的,

<td width="170px" style="word-wrap:break-word;">
  <div style="width:140px;overflow:auto">
    LONGTEXTGOESHERELONGDIVGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESHERELONGDIVLONGTEXTLONGTEXT
  </div>
</td>

你也可以在另一个div中使用一个div,而不是td。我使用overflow:auto,因为它可以显示Opera和IE浏览器中的所有文本。