Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在C中将脚本标记包装到cdata中?_C#_.net_Regex - Fatal编程技术网

C# 如何在C中将脚本标记包装到cdata中?

C# 如何在C中将脚本标记包装到cdata中?,c#,.net,regex,C#,.net,Regex,如何包装: <script> if (typeof ty === "undefined") { var ty = { chainOnLoad: function(onLoadHandler..</script> 为此: //<![CDATA[<script> if (typeof ty === "undefined") { var ty = { chainOnLoad: function(onLoadHandler.. </script>

如何包装:

<script> if (typeof ty === "undefined") { var ty = { chainOnLoad: function(onLoadHandler..</script>
为此:

//<![CDATA[<script> if (typeof ty === "undefined") { var ty = { chainOnLoad:  function(onLoadHandler.. </script>//]]>

如何做到这一点?

你可以试试这个

查找[\S\S]*?|'[\S\S]*?'|?:?!/>[^>]?+?\s*>[\s\s]*

替换

但是,问题是浏览器将CDATA解析为[\S\S]*?]]> 这意味着你必须处理1美元。在这里。适用于以下情况]]> 顺序,然后做一些事情来缓解它

否则cdata将提前终止,留下剩余的垃圾

请注意,您不能只查找CDATA而不查找第一个数据集上的所有标记 来/服务为基础。 原因是CDATA和任何标记一样,可以隐藏在其他构造中

通常,解析所有标记的表达式如下

[\S\S]*?|'[\S\S]*?'|?:?!/>[^>]?+?\s*>[\s\s]*?:/?[\w:+\s*/?:[\w:+\s+?:[\s\s]*?“[\s\s]*?”[\s\s]*?“[^>]?+\s*/?\?[\s\s]*?\:!:?:DOCTYPE[\S\S]*?\124;?:\[CDATA\[\S\S]*?\]\]\124;?:-[\ S\S]*?-\124;?:ATTLIST[\S\S]*?:实体[\S\S]*?\124;?:元素[\S\S]*?>

当您得到一个脚本标记时,您可以从写回非脚本标记开始
做你的替补

分享你的研究成果对每个人都有帮助。告诉我们您尝试了什么,以及为什么它不能满足您的需求。这表明你花了时间来帮助自己,它使我们避免重复显而易见的答案,最重要的是,它帮助你得到一个更具体和相关的答案!另请参见:标记存在于何处?还有其他标签吗?还是以独立字符串的形式?