fckregexlib.js
上传用户:dbstep
上传日期:2022-08-06
资源大小:2803k
文件大小:4k
源码类别:

WEB源码(ASP,PHP,...)

开发平台:

ASP/ASPX

  1. /*
  2.  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
  3.  * Copyright (C) 2003-2009 Frederico Caldeira Knabben
  4.  *
  5.  * == BEGIN LICENSE ==
  6.  *
  7.  * Licensed under the terms of any of the following licenses at your
  8.  * choice:
  9.  *
  10.  *  - GNU General Public License Version 2 or later (the "GPL")
  11.  *    http://www.gnu.org/licenses/gpl.html
  12.  *
  13.  *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
  14.  *    http://www.gnu.org/licenses/lgpl.html
  15.  *
  16.  *  - Mozilla Public License Version 1.1 or later (the "MPL")
  17.  *    http://www.mozilla.org/MPL/MPL-1.1.html
  18.  *
  19.  * == END LICENSE ==
  20.  *
  21.  * These are some Regular Expressions used by the editor.
  22.  */
  23. var FCKRegexLib =
  24. {
  25. // This is the Regular expression used by the SetData method for the "'" entity.
  26. AposEntity : /'/gi ,
  27. // Used by the Styles combo to identify styles that can't be applied to text.
  28. ObjectElements : /^(?:IMG|TABLE|TR|TD|TH|INPUT|SELECT|TEXTAREA|HR|OBJECT|A|UL|OL|LI)$/i ,
  29. // List all named commands (commands that can be interpreted by the browser "execCommand" method.
  30. NamedCommands : /^(?:Cut|Copy|Paste|Print|SelectAll|RemoveFormat|Unlink|Undo|Redo|Bold|Italic|Underline|StrikeThrough|Subscript|Superscript|JustifyLeft|JustifyCenter|JustifyRight|JustifyFull|Outdent|Indent|InsertOrderedList|InsertUnorderedList|InsertHorizontalRule)$/i ,
  31. BeforeBody : /(^[sS]*<body[^>]*>)/i,
  32. AfterBody : /(</body>[sS]*$)/i,
  33. // Temporary text used to solve some browser specific limitations.
  34. ToReplace : /___fcktoreplace:([w]+)/ig ,
  35. // Get the META http-equiv attribute from the tag.
  36. MetaHttpEquiv : /http-equivs*=s*["']?([^"' ]+)/i ,
  37. HasBaseTag : /<base /i ,
  38. HasBodyTag : /<body[s|>]/i ,
  39. HtmlOpener : /<htmls?[^>]*>/i ,
  40. HeadOpener : /<heads?[^>]*>/i ,
  41. HeadCloser : /</heads*>/i ,
  42. // Temporary classes (Tables without border, Anchors with content) used in IE
  43. FCK_Class : /s*FCK__[^ ]*(?=s+|$)/ ,
  44. // Validate element names (it must be in lowercase).
  45. ElementName : /(^[a-z_:][w.-:]*w$)|(^[a-z_]$)/ ,
  46. // Used in conjunction with the FCKConfig.ForceSimpleAmpersand configuration option.
  47. ForceSimpleAmpersand : /___FCKAmp___/g ,
  48. // Get the closing parts of the tags with no closing tags, like <br/>... gets the "/>" part.
  49. SpaceNoClose : //>/g ,
  50. // Empty elements may be <p></p> or even a simple opening <p> (see #211).
  51. EmptyParagraph : /^<(p|div|address|hd|center)(?=[ >])[^>]*>s*(</1>)?$/ ,
  52. EmptyOutParagraph : /^<(p|div|address|hd|center)(?=[ >])[^>]*>(?:s*|&nbsp;)(</1>)?$/ ,
  53. TagBody : /></ ,
  54. GeckoEntitiesMarker : /#?-:/g ,
  55. // We look for the "src" and href attribute with the " or ' or without one of
  56. // them. We have to do all in one, otherwise we will have problems with URLs
  57. // like "thumbnail.php?src=someimage.jpg" (SF-BUG 1554141).
  58. ProtectUrlsImg : /<img(?=s).*?ssrc=((?:(?:s*)("|').*?2)|(?:[^"'][^ >]+))/gi ,
  59. ProtectUrlsA : /<a(?=s).*?shref=((?:(?:s*)("|').*?2)|(?:[^"'][^ >]+))/gi ,
  60. ProtectUrlsArea : /<area(?=s).*?shref=((?:(?:s*)("|').*?2)|(?:[^"'][^ >]+))/gi ,
  61. Html4DocType : /HTML 4.0 Transitional/i ,
  62. DocTypeTag : /<!DOCTYPE[^>]*>/i ,
  63. HtmlDocType : /DTD HTML/ ,
  64. // These regex are used to save the original event attributes in the HTML.
  65. TagsWithEvent : /<[^>]+ onw+[srn]*=[srn]*?('|")[sS]+?>/g ,
  66. EventAttributes : /s(onw+)[srn]*=[srn]*?('|")([sS]*?)2/g,
  67. ProtectedEvents : /sw+_fckprotectedatt="([^"]+)"/g,
  68. StyleProperties : /S+s*:/g,
  69. // [a-zA-Z0-9:]+ seams to be more efficient than [w:]+
  70. InvalidSelfCloseTags : /(<(?!base|meta|link|hr|br|param|img|area|input)([a-zA-Z0-9:]+)[^>]*)/>/gi,
  71. // All variables defined in a style attribute or style definition. The variable
  72. // name is returned with $2.
  73. StyleVariableAttName : /#(s*("|')(.+?)1[^)]*s*)/g,
  74. RegExp : /^/(.*)/([gim]*)$/,
  75. HtmlTag : /<[^s<>](?:"[^"]*"|'[^']*'|[^<])*>/
  76. } ;