在sql中查找和替换字符串的部分

在sql中查找和替换字符串的部分,sql,rdlc,Sql,Rdlc,我正在使用Telerik RadEditor插入格式丰富的文本。问题是,我的rdlc报告可以格式化所有html标记,除了带下划线的文本。如果我使用带下划线的此文本将在报告上呈现良好效果,但控件不会以该格式保存它。(是的,我知道被折旧了…) 我想做的是在插入记录后更新它,并用标记替换任何标记,并用替换其结束标记。但我不确定如何在sql中实现这一点 这是示例保存记录当前的外观: Plain Text <strong> Bold Text </strong><span s

我正在使用Telerik RadEditor插入格式丰富的文本。问题是,我的rdlc报告可以格式化所有html标记,除了带下划线的文本。如果我使用带下划线的
此文本
将在报告上呈现良好效果,但控件不会以该格式保存它。(是的,我知道
被折旧了…)

我想做的是在插入记录后更新它,并用
标记替换任何
标记,并用
替换其结束标记。但我不确定如何在sql中实现这一点

这是示例保存记录当前的外观:

Plain Text <strong> Bold Text </strong><span style="color: #ff0000;"> Color Text </span>/<em><span style="text-decoration: underline;"> Underlined and Italics Text </span></em> and <span style="text-decoration: underline;"> Underlined Only Text </span>
纯文本粗体文本彩色文本/带下划线和斜体文本以及仅带下划线的文本
这是示例保存记录的外观:

Plain Text <strong> Bold Text </strong><span style="color: #ff0000;"> Color Text </span>/<em><u> Underlined and Italics Text </u></em> and <u> Underlined Only Text </u>
纯文本粗体文本彩色文本/带下划线和斜体文本以及仅带下划线的文本

关于如何做到这一点,您有什么想法吗?

您可以实现如下所示的自定义内容过滤器,它将span标记转换为U标记。对其他标记使用相同的方法:

<telerik:radeditor runat="server"ID="RadEditor1" OnClientLoad="OnClientLoad" ContentFilters="MakeUrlsAbsolute,FixEnclosingP">  
</telerik:radeditor>
                                <script type="text/javascript">
                                    function OnClientLoad(editor, args) {
                                        editor.get_filtersManager().add(new FixUnderline());
                                    }

                                    FixUnderline = function() {
                                    FixUnderline.initializeBase(this);
                                        this.IsDom = true;
                                        this.Enabled = true;
                                        this.Name = "FixUnderline";
                                        this.Description = "This filter changes CSS underline to u tag";
                                    };
                                    FixUnderline.prototype = { _getElements: function(a, c) {
                                        var b = a.getElementsByTagName(c);
                                        if (!b) {
                                            b = a.ownerDocument.getElementsByTagName(c);
                                        } return b;
                                    }, _replaceElementWithSpan: function(l, h, k) {
                                        var m = this._getElements(l, h);
                                        var d = [];
                                        for (var b = m.length - 1; b >= 0; b--) {
                                            Array.add(d, m[b]);
                                        } for (var a = 0, c = d.length; a < c; a++) {
                                            var e = l.ownerDocument.createElement("span");
                                            e.style.cssText = k;
                                            var f = d[a];
                                            var g = f.innerHTML;
                                            if ($telerik.isIE && g == " ") {
                                                e.innerText = g;
                                            } else {
                                                Telerik.Web.UI.Editor.Utils.setElementInnerHtml(e, g);
                                            } f.parentNode.replaceChild(e, f);
                                        }
                                    }, _replaceSpanWithElement: function(o, n, f) {
                                        var q = this._getElements(o, "span");
                                        var e = [];
                                        for (var b = q.length - 1; b >= 0; b--) {
                                            Array.add(e, q[b]);
                                        } for (var a = 0, c = e.length; a < c; a++) {
                                            var m = [];
                                            var g = e[a];
                                            for (var p = 0; p < g.childNodes.length; p++) {
                                                Array.add(m, g.childNodes[p].cloneNode(true));
                                            } if (g.style.cssText.toLowerCase() == f || g.style.cssText.toLowerCase() == (f + ";")) {
                                                var h = o.ownerDocument.createElement(n);
                                                for (var d = 0; d < m.length; d++) {
                                                    h.appendChild(m[d]);
                                                } g.parentNode.replaceChild(h, g);
                                            }
                                        }
                                    }, getHtmlContent: function(a) {
                                        this._replaceSpanWithElement(a, "u", "text-decoration: underline");
                                        return a;
                                    }, getDesignContent: function(a) {
                                        this._replaceElementWithSpan(a, "u", "text-decoration: underline");
                                        return a;
                                    }
                                    };
                                    FixUnderline.registerClass("FixUnderline", Telerik.Web.UI.Editor.Filter);
                                </script>

函数OnClientLoad(编辑器,参数){
get_filtersManager().add(新的FixUnderline());
}
FixUnderline=函数(){
FixUnderline.初始化基(this);
this.IsDom=true;
this.Enabled=true;
this.Name=“FixUnderline”;
this.Description=“此筛选器将CSS下划线更改为u标记”;
};
FixUnderline.prototype={u getElements:函数(a,c){
var b=a.getElementsByTagName(c);
如果(!b){
b=a.ownerDocument.getElementsByTagName(c);
}返回b;
},_replacement with span:function(l、h、k){
var m=该元素(l,h);
var d=[];
对于(var b=m.length-1;b>=0;b--){
add(d,m[b]);
}对于(变量a=0,c=d.length;a=0;b--){
添加(e,q[b]);
}for(var a=0,c=e.length;a
更多信息请访问和