放一个
在一些文本后面加上标签
本文关键字:文本 标签 一个 br | 更新日期: 2023-09-27 18:13:41
我有一个变量str,它有一些文本。我只是在我的UI上显示这个文本。但是我有一个条件,假设这个变量有500个单词,所以我需要在每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> " + TextBox1.Text + "</span></td>";
Emailbody += " <td> </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的解决方案。文本
如果你正在使用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();
}
使用javascript如下:
var count=0;
for(var i=0;i<str.length;i++)
{
if((str[i])=="")
{
count++;
if(count==50)
{
str[i]="<br/>"
count=0;
}
}
}
我想你想在c#中做到这一点?
看一下可能的复制品。给定的函数允许您指定而不是字符或单词的数量,以像素为单位的行宽,并使用字体和字体大小计算适当的长度。您必须使其适应您的HTML输出,但其余部分保持不变。
你可以这样使用List:
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> </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>";