2

我有一个变量 str 有一些文本。我只是在我的 UI 上显示此文本。但是我有一个条件,假设这个变量有 5oo 个单词,所以我需要
在每 50 个单词之后放置一个标签。

我怎样才能做到这一点?

下面是我的 c# 代码,我通过它以 html 格式发送邮件

Emailbody += " <tr>";
Emailbody += " <td align='left' valign='Top' nowrap><span class=style17>Purpose of     travel</span></td>";
Emailbody += "<td align='center' valign='Top'>:</td>";
Emailbody += " <td align='left' valign='Top'><span class=style17>&nbsp;&nbsp;" + TextBox1.Text +     "</span></td>";
Emailbody += " <td>&nbsp;</td>";
Emailbody += "  <td align='left' nowrap'><span class=style17>Advance</span></td>";
Emailbody += " <td align='center'>:</td>";
Emailbody += "<td align='left' nowrap><span class=style17>"+TextBox2.Text+"</td>";
Emailbody += " </tr>";

我需要 mt TextBox1.Text 的解决方案

4

3 回答 3

2

如果您使用的是 C#,那么您可以这样做:

    public string SplitLine(string input)
    {
        var wordList = input.Split(' ');
        var sb = new StringBuilder();
        for (int index = 0; index < wordList.Length; index++)
        {
            if(index % 50 == 0 && index > 0)
                sb.Append("<br/>" + wordList[index]);
            else
                sb.Append(wordList[index] + ' ');
        }
        return sb.ToString();
    }
于 2013-05-15T05:44:58.963 回答
0

使用javascript如下:

var count=0;
for(var i=0;i<str.length;i++)
{


  if((str[i])=="")
  {
    count++;
    if(count==50)
    {
      str[i]="<br/>"
      count=0;
    }
  }

}

希望它有帮助。

于 2013-05-15T05:29:27.233 回答
0

我假设你想在 C# 中做到这一点?

看看可能的重复。给定的函数允许您指定而不是字符或单词的数量,以像素为单位的线宽,并使用字体和字体大小计算适当的长度。您必须使其适应您的 HTML 输出,但其余部分保持不变。

您可以像这样使用列表:

List<string> lines = WrapText(TextBox1.Text, 300, "Calibri", 11);

string longText = string.Empty

foreach (var item in lines)
{
    longText += item + "</br>";
}

Emailbody += " <tr>";
Emailbody += " <td align='left' valign='Top' nowrap><span class=style17>Purpose of travel</span></td>";
Emailbody += "<td align='center' valign='Top'>:</td>";
Emailbody += " <td align='left' valign='Top'><span class=style17>" + longText + "</span></td>";
Emailbody += " <td>&nbsp;</td>";
Emailbody += "  <td align='left' nowrap'><span class=style17>Advance</span></td>";
Emailbody += " <td align='center'>:</td>";
Emailbody += "<td align='left' nowrap><span class=style17>"+TextBox2.Text+"</td>";
Emailbody += " </tr>";
于 2013-05-15T05:37:29.993 回答