昨天我在这里问了一个问题。使用javascript和html解决方案很简单
前一阵子我打算什么是操纵html来执行javascript中的任务
但是我改变了主意,将javascript代码重写为c#
这是输入
<Abstract>
<Heading>Abstract</Heading>
<Para TextBreak="No" >Some paragraph <Emphasis Type="Italic">q</Emphasis><Emphasis Type="Bold">Bold</Emphasis><Emphasis Type="Underline">Underline</Emphasis> </Para>
</Abstract>
但问题是我的C#输出错误?
我翻译的代码有什么问题?
这是JavaScript代码
<script type="text/javascript">
jQuery(document).ready(function(){
textval = $('textarea').val();
textnewval = textval.replace('Para TextBreak="No"', 'p').replace('/Para', '/p');
if(textnewval.indexOf('Italic') >= 0) //If Italic
{
EmphasisAttr = 'Italic';
textnewval = textnewval.replace('Emphasis Type="'+EmphasisAttr+'"', 'i').replace('/Emphasis', '/i');
}
if(textnewval.indexOf('Bold') >= 0) //If Bold
{
EmphasisAttr = 'Bold';
textnewval = textnewval.replace('Emphasis Type="'+EmphasisAttr+'"', 'b').replace('/Emphasis', '/b');
}
if(textnewval.indexOf('Underline') >= 0) //If underline
{
EmphasisAttr = 'Underline';
textnewval = textnewval.replace('Emphasis Type="'+EmphasisAttr+'"', 'u').replace('/Emphasis', '/u');
}
$('textarea').val(textnewval);
alert($('textarea').val());
});
</script>
上面代码的输出是这样
<Abstract>
<Heading>Abstract</Heading>
<p >Some paragraph <i>q</i><b>Bold</b><u>Underline</u> </p>
</Abstract>
这是正确的,下面是我的C#代码。并且输出错误
string result = null;
string input = textBox.Text;
result = input.Replace("Para TextBreak=\"No\"", "p").ToString().Replace("/Para", "/p");
if (result.IndexOf("Italic") >= 0)
{
string EmphasisAttr = "Italic";
result = result.Replace("Emphasis Type=\"" + EmphasisAttr + "\"", "i").ToString().Replace("/Emphasis", "/i");
}
if (result.IndexOf("Bold") >= 0)
{
string EmphasisAttr = "Bold";
result = result.Replace("Emphasis Type=\"" + EmphasisAttr + "\"", "b").ToString().Replace("/Emphasis", "/b");
}
if (result.IndexOf("Underline") >= 0)
{
string EmphasisAttr = "Underline";
result = result.Replace("Emphasis Type=\"" + EmphasisAttr + "\"", "u").ToString().Replace("/Emphasis", "/u");
}
Console.WriteLine(result);
输出:
<Abstract>
<Heading>Abstract</Heading>
<p >Some paragraph <i>q</i><b>Bold</i><u>Underline</i> </p>
</Abstract>
javascript大神给出的解决方案
问题是这里
result = result.Replace("Emphasis Type=\"" + EmphasisAttr + "\"", "i").ToString()
.Replace("/Emphasis", "/i");
您将/emphasis
的每个实例替换为/i
。不仅是第一个,而且都是。之后,将没有/emphasis
实例替换为/b
或/u
。
在JavaScript中,默认情况下,.replace
仅替换匹配字符串的第一个实例。在.NET中,它替换了所有它们。
我使用脚本用JavaScript切换了一些div。如果要选中复选框以显示toogle div,我想在toogle div中设置一些“必填”输入字段。有人能弄清楚吗?那是工作吗?function show(id) { if(document.getElementById) { var mydiv = document.getElementById(id); m…
从其他文件夹访问母版页 - javascript我认为这应该很容易但不确定如何解决。我在主文件夹中有一个名为01.aspx的页面01.aspx页应该继承products.master项目根目录存在于products.master中像下面的照片:我使用波纹管代码,但没有任何工作的JavaScript,图像和...01.aspx<%@ Page Title="" Language=&…
PHP stringID无法从回显中读入onclick - javascript我有一个音频播放器,可以在HTML中正常工作,但是当我从PHP回显调用时,似乎没有得到div ID的名称,因此它无法播放我的音频。这是我的代码:// Show audio if ($sObj->get('audio') != null) { $sAudio = $sObj->get('audio'); $a…
在php中单击按钮添加表行并设置字段值 - javascript我有一个表单,必须在单击按钮时添加表行。这是我必须动态添加的表行:(addProdToGroup.php)<tr style="text-align: center;" id="products"> <td><?php $j ?></td> <td><s…
淘汰赛在金字塔中的行为不正确 - javascript我正在使用Pyramid构建一个Webapp,但是Knockout的行为有所不同。我有一个表格: <div data-bind="with: $root.itemToAdd" style="display: none;"> <form data-bind="submit: $root.add…