Loading ...
Sorry, an error occurred while loading the content.

Rich-Text Editor - How do forbid input insert?

Expand Messages
  • bj4fr
    Hi, I m using Rich-Text Editor which is a great stuff but I noticed something wrong with mine. I can insert html tag like select, textarea... using copy/paste
    Message 1 of 6 , Oct 2, 2007
    • 0 Attachment
      Hi,

      I'm using Rich-Text Editor which is a great stuff but I noticed
      something wrong with mine. I can insert html tag like select,
      textarea... using copy/paste (ctrl + v) and I'd like to forbid it. Is
      there a mean to do that?

      I try with invalidHTML property but that do noting:
      var myEditorConfig = {
      height: '250px',
      dompath: false,
      animate: false,
      invalidHTML: {
      input: true,
      button: true,
      select: true,
      link: true,
      html: true,
      body: true,
      script: true,
      style: true,
      textarea: true
      }
      };

      Thanks
    • dav.glass@yahoo.com
      bj4fr -- Thanks for catching this issue :) I have fixed the issue for the next release, but here is a work around for you to use until then:
      Message 2 of 6 , Oct 2, 2007
      • 0 Attachment
        bj4fr --

        Thanks for catching this issue :)

        I have fixed the issue for the next release, but here is a work around for you to use until then:
        http://blog.davglass.com/files/yui/editor17/
         
        Thanks
        Dav

        Dav Glass
        dav.glass@...
        blog.davglass.com
         
         
        + Windows: n. - The most successful computer virus, ever. +
        + A computer without a Microsoft operating system is like a dog
        without bricks tied to its head +
        + A Microsoft Certified Systems Engineer is to computing what a
        McDonalds Certified Food Specialist is to fine cuisine +


        ----- Original Message ----
        From: bj4fr <bj4fr@...>
        To: ydn-javascript@yahoogroups.com
        Sent: Tuesday, October 2, 2007 2:04:07 AM
        Subject: [ydn-javascript] Rich-Text Editor - How do forbid input insert?

        Hi,

        I'm using Rich-Text Editor which is a great stuff but I noticed
        something wrong with mine. I can insert html tag like select,
        textarea... using copy/paste (ctrl + v) and I'd like to forbid it. Is
        there a mean to do that?

        I try with invalidHTML property but that do noting:
        var myEditorConfig = {
        height: '250px',
        dompath: false,
        animate: false,
        invalidHTML: {
        input: true,
        button: true,
        select: true,
        link: true,
        html: true,
        body: true,
        script: true,
        style: true,
        textarea: true
        }
        };

        Thanks


      • bj4fr
        Thanks it s exactly what I wanted for select, textarea, input... But something wrong is the fact that this function removes also the content of the tag. For
        Message 3 of 6 , Oct 4, 2007
        • 0 Attachment
          Thanks it's exactly what I wanted for select, textarea, input...

          But something wrong is the fact that this function removes also the content of the tag.
          For example if you don't want span tags, when a user is pasting a text which contains span tags, he will lose some information:

          Hello <span>World</span>

          will become

          Hello

          So for people who want keeping the content of a balise you can do like that:

          function strip_span_tags(text){
          //We remove the span tag, but keeping its content
          return text.replace(/<(\/?)span>/gi, '');
          }

          Also I've got another question about accessibility.
          Normaly when you write a text, this one should be in <p> tags or some other tags but not without tags in a <div>.
          For example when we write a text, a list and a text, we should write this html code:
          <p>my text1</p>
          <ul>
          <li>el1</li>
          <li>el2</li>
          </ul>
          <p>my text2</p>

          but the Rich-Text Editor won't write the <p> tags.
          Is that normal?
          Is there an option to do that?

          Thanks again

          --- In ydn-javascript@yahoogroups.com, dav.glass@... wrote:
          >
          > bj4fr --
          >
          > Thanks for catching this issue :)
          >
          > I have fixed the issue for the next release, but here is a work around for you to use until then:
          > http://blog.davglass.com/files/yui/editor17/
          >
          > Thanks
          > Dav
          >
          >
          > Dav Glass
          > dav.glass@...
          > blog.davglass.com
          >
          > + Windows: n. - The most successful computer virus, ever. +
          > + A computer without a Microsoft operating system is like a dog
          > without bricks tied to its head +
          > + A Microsoft Certified Systems Engineer is to computing what a
          > McDonalds Certified Food Specialist is to fine cuisine +
          >
          > ----- Original Message ----
          > From: bj4fr bj4fr@...
          > To: ydn-javascript@yahoogroups.com
          > Sent: Tuesday, October 2, 2007 2:04:07 AM
          > Subject: [ydn-javascript] Rich-Text Editor - How do forbid input insert?
          >
          >
          >
          >
          >
          >
          >
          >
          >
          >
          >
          >
          >
          > Hi,
          >
          >
          >
          > I'm using Rich-Text Editor which is a great stuff but I noticed
          >
          > something wrong with mine. I can insert html tag like select,
          >
          > textarea... using copy/paste (ctrl + v) and I'd like to forbid it. Is
          >
          > there a mean to do that?
          >
          >
          >
          > I try with invalidHTML property but that do noting:
          >
          > var myEditorConfig = {
          >
          > height: '250px',
          >
          > dompath: false,
          >
          > animate: false,
          >
          > invalidHTML: {
          >
          > input: true,
          >
          > button: true,
          >
          > select: true,
          >
          > link: true,
          >
          > html: true,
          >
          > body: true,
          >
          > script: true,
          >
          > style: true,
          >
          > textarea: true
          >
          > }
          >
          > };
          >
          >
          >
          > Thanks
          >
          >
          >
          >
          >
          >
          >
          >
          >
          >
          >
          >
          >
          >
          > <!--
          >
          > #ygrp-mkp{
          > border:1px solid #d8d8d8;font-family:Arial;margin:14px 0px;padding:0px 14px;}
          > #ygrp-mkp hr{
          > border:1px solid #d8d8d8;}
          > #ygrp-mkp #hd{
          > color:#628c2a;font-size:85%;font-weight:bold;line-height:122%;margin:10px 0px;}
          > #ygrp-mkp #ads{
          > margin-bottom:10px;}
          > #ygrp-mkp .ad{
          > padding:0 0;}
          > #ygrp-mkp .ad a{
          > color:#0000ff;text-decoration:none;}
          > -->
          >
          >
          >
          > <!--
          >
          > #ygrp-sponsor #ygrp-lc{
          > font-family:Arial;}
          > #ygrp-sponsor #ygrp-lc #hd{
          > margin:10px 0px;font-weight:bold;font-size:78%;line-height:122%;}
          > #ygrp-sponsor #ygrp-lc .ad{
          > margin-bottom:10px;padding:0 0;}
          > -->
          >
          >
          >
          > <!--
          >
          > #ygrp-mlmsg {font-size:13px;font-family:arial, helvetica, clean, sans-serif;}
          > #ygrp-mlmsg table {font-size:inherit;font:100%;}
          > #ygrp-mlmsg select, input, textarea {font:99% arial, helvetica, clean, sans-serif;}
          > #ygrp-mlmsg pre, code {font:115% monospace;}
          > #ygrp-mlmsg * {line-height:1.22em;}
          > #ygrp-text{
          > font-family:Georgia;
          > }
          > #ygrp-text p{
          > margin:0 0 1em 0;}
          > #ygrp-tpmsgs{
          > font-family:Arial;
          > clear:both;}
          > #ygrp-vitnav{
          > padding-top:10px;font-family:Verdana;font-size:77%;margin:0;}
          > #ygrp-vitnav a{
          > padding:0 1px;}
          > #ygrp-actbar{
          > clear:both;margin:25px 0;white-space:nowrap;color:#666;text-align:right;}
          > #ygrp-actbar .left{
          > float:left;white-space:nowrap;}
          > .bld{font-weight:bold;}
          > #ygrp-grft{
          > font-family:Verdana;font-size:77%;padding:15px 0;}
          > #ygrp-ft{
          > font-family:verdana;font-size:77%;border-top:1px solid #666;
          > padding:5px 0;
          > }
          > #ygrp-mlmsg #logo{
          > padding-bottom:10px;}
          >
          > #ygrp-vital{
          > background-color:#e0ecee;margin-bottom:20px;padding:2px 0 8px 8px;}
          > #ygrp-vital #vithd{
          > font-size:77%;font-family:Verdana;font-weight:bold;color:#333;text-transform:uppercase;}
          > #ygrp-vital ul{
          > padding:0;margin:2px 0;}
          > #ygrp-vital ul li{
          > list-style-type:none;clear:both;border:1px solid #e0ecee;
          > }
          > #ygrp-vital ul li .ct{
          > font-weight:bold;color:#ff7900;float:right;width:2em;text-align:right;padding-right:.5em;}
          > #ygrp-vital ul li .cat{
          > font-weight:bold;}
          > #ygrp-vital a{
          > text-decoration:none;}
          >
          > #ygrp-vital a:hover{
          > text-decoration:underline;}
          >
          > #ygrp-sponsor #hd{
          > color:#999;font-size:77%;}
          > #ygrp-sponsor #ov{
          > padding:6px 13px;background-color:#e0ecee;margin-bottom:20px;}
          > #ygrp-sponsor #ov ul{
          > padding:0 0 0 8px;margin:0;}
          > #ygrp-sponsor #ov li{
          > list-style-type:square;padding:6px 0;font-size:77%;}
          > #ygrp-sponsor #ov li a{
          > text-decoration:none;font-size:130%;}
          > #ygrp-sponsor #nc{
          > background-color:#eee;margin-bottom:20px;padding:0 8px;}
          > #ygrp-sponsor .ad{
          > padding:8px 0;}
          > #ygrp-sponsor .ad #hd1{
          > font-family:Arial;font-weight:bold;color:#628c2a;font-size:100%;line-height:122%;}
          > #ygrp-sponsor .ad a{
          > text-decoration:none;}
          > #ygrp-sponsor .ad a:hover{
          > text-decoration:underline;}
          > #ygrp-sponsor .ad p{
          > margin:0;}
          > o{font-size:0;}
          > .MsoNormal{
          > margin:0 0 0 0;}
          > #ygrp-text tt{
          > font-size:120%;}
          > blockquote{margin:0 0 0 4px;}
          > .replbq{margin:4;}
          > -->
          >
        • dav.glass@yahoo.com
          bj4fr -- Please put in a feature request here: http://developer.yahoo.com/yui/editor/#filingbugs Your use case is interesting, please include that in the
          Message 4 of 6 , Oct 4, 2007
          • 0 Attachment
            bj4fr --

            Please put in a feature request here:
            http://developer.yahoo.com/yui/editor/#filingbugs

            Your use case is interesting, please include that in the request.. Normally, when you say you don't want a tag, you say you don't want any part of it.

            Take a script tag for example, you wouldn't want the content of that script in the page either..

            What I would recommend in the case of spans, it to do that when the Editor saves the HTML out..

            Something like:

            myEditor.saveHTML();
            var html = myEditor.get('element').value.replace(/<(\/?)span([^>]*)>/gi, '');
             
            Hope that helps :)
            Dav

            Dav Glass
            dav.glass@...
            blog.davglass.com
             
             
            + Windows: n. - The most successful computer virus, ever. +
            + A computer without a Microsoft operating system is like a dog
            without bricks tied to its head +
            + A Microsoft Certified Systems Engineer is to computing what a
            McDonalds Certified Food Specialist is to fine cuisine +


            ----- Original Message ----
            From: bj4fr <bj4fr@...>
            To: ydn-javascript@yahoogroups.com
            Sent: Thursday, October 4, 2007 1:28:03 AM
            Subject: [ydn-javascript] Re: Rich-Text Editor - How do forbid input insert?

            Thanks it's exactly what I wanted for select, textarea, input...

            But something wrong is the fact that this function removes also the content of the tag.
            For example if you don't want span tags, when a user is pasting a text which contains span tags, he will lose some information:

            Hello <span>World</span>

            will become

            Hello

            So for people who want keeping the content of a balise you can do like that:

            function strip_span_tags( text){

            //We remove the span tag, but keeping its content
            return text.replace(/<(\/?)span>/gi, '');
            }

            Also I've got another question about accessibility.
            Normaly when you write a text, this one should be in <p> tags or some other tags but not without tags in a <div>.
            For example when we write a text, a list and a text, we should write this html code:
            <p>my text1</p>
            <ul>
            <li>el1</li>
            <li>el2</li>
            </ul>
            <p>my text2</p>

            but the Rich-Text Editor won't write the <p> tags.
            Is that normal?
            Is there an option to do that?

            Thanks again

            --- In ydn-javascript@ yahoogroups. com, dav.glass@.. . wrote:
            >
            > bj4fr --
            >
            > Thanks for catching this issue :)
            >
            > I have fixed the issue for the next release, but here is a work around for you to use until then:
            > http://blog. davglass. com/files/ yui/editor17/
            >
            > Thanks
            > Dav
            >
            >
            > Dav Glass
            > dav.glass@.. .
            > blog.davglass. com
            >
            > + Windows: n. - The most successful computer virus, ever. +
            > + A computer without a Microsoft operating system is like a dog
            > without bricks tied to its head +
            > + A Microsoft Certified Systems Engineer is to computing what a
            > McDonalds Certified Food Specialist is to fine cuisine +
            >
            > ----- Original Message ----
            > From: bj4fr bj4fr@...
            > To: ydn-javascript@ yahoogroups. com
            > Sent: Tuesday, October 2, 2007 2:04:07 AM
            > Subject: [ydn-javascript] Rich-Text Editor - How do forbid input insert?
            >
            >
            >
            >
            >
            >
            >
            >
            >
            >
            >
            >
            >
            > Hi,
            >
            >
            >
            > I'm using Rich-Text Editor which is a great stuff but I noticed
            >
            > something wrong with mine. I can insert html tag like select,
            >
            > textarea... using copy/paste (ctrl + v) and I'd like to forbid it. Is
            >
            > there a mean to do that?
            >
            >
            >
            > I try with invalidHTML property but that do noting:
            >
            > var myEditorConfig = {
            >
            > height: '250px',
            >
            > dompath: false,
            >
            > animate: false,
            >
            > invalidHTML: {
            >
            > input: true,
            >
            > button: true,
            >
            > select: true,
            >
            > link: true,
            >
            > html: true,
            >
            > body: true,
            >
            > script: true,
            >
            > style: true,
            >
            > textarea: true
            >
            > }
            >
            > };
            >
            >
            >
            > Thanks
            >
            >
            >
            >
            >
            >
            >
            >
            >
            >
            >
            >
            >
            >
            > <!--
            >
            > #ygrp-mkp{
            > border:1px solid #d8d8d8;font- family:Arial; margin:14px 0px;padding: 0px 14px;}
            > #ygrp-mkp hr{
            > border:1px solid #d8d8d8;}
            > #ygrp-mkp #hd{
            > color:#628c2a; font-size: 85%;font- weight:bold; line-height: 122%;margin: 10px 0px;}
            > #ygrp-mkp #ads{
            > margin-bottom: 10px;}
            > #ygrp-mkp .ad{
            > padding:0 0;}
            > #ygrp-mkp .ad a{
            > color:#0000ff; text-decoration: none;}
            > -->
            >
            >
            >
            > <!--
            >
            > #ygrp-sponsor #ygrp-lc{
            > font-family: Arial;}
            > #ygrp-sponsor #ygrp-lc #hd{
            > margin:10px 0px;font-weight: bold;font- size:78%; line-height: 122%;}
            > #ygrp-sponsor #ygrp-lc .ad{
            > margin-bottom: 10px;padding: 0 0;}
            > -->
            >
            >
            >
            > <!--
            >
            > #ygrp-mlmsg {font-size:13px; font-family: arial, helvetica, clean, sans-serif;}
            > #ygrp-mlmsg table {font-size:inherit; font:100% ;}
            > #ygrp-mlmsg select, input, textarea {font:99% arial, helvetica, clean, sans-serif;}
            > #ygrp-mlmsg pre, code {font:115% monospace;}
            > #ygrp-mlmsg * {line-height: 1.22em;}
            > #ygrp-text{
            > font-family: Georgia;
            > }
            > #ygrp-text p{
            > margin:0 0 1em 0;}
            > #ygrp-tpmsgs{
            > font-family: Arial;
            > clear:both;}
            > #ygrp-vitnav{
            > padding-top: 10px;font- family:Verdana; font-size: 77%;margin: 0;}
            > #ygrp-vitnav a{
            > padding:0 1px;}
            > #ygrp-actbar{
            > clear:both;margin: 25px 0;white-space: nowrap;color: #666;text- align:right; }
            > #ygrp-actbar .left{
            > float:left;white- space:nowrap; }
            > .bld{font-weight: bold;}
            > #ygrp-grft{
            > font-family: Verdana;font- size:77%; padding:15px 0;}
            > #ygrp-ft{
            > font-family: verdana;font- size:77%; border-top: 1px solid #666;
            > padding:5px 0;
            > }
            > #ygrp-mlmsg #logo{
            > padding-bottom: 10px;}
            >
            > #ygrp-vital{
            > background-color: #e0ecee;margin- bottom:20px; padding:2px 0 8px 8px;}
            > #ygrp-vital #vithd{
            > font-size:77% ;font-family: Verdana;font- weight:bold; color:#333; text-transform: uppercase; }
            > #ygrp-vital ul{
            > padding:0;margin: 2px 0;}
            > #ygrp-vital ul li{
            > list-style-type: none;clear: both;border: 1px solid #e0ecee;
            > }
            > #ygrp-vital ul li .ct{
            > font-weight: bold;color: #ff7900;float: right;width: 2em;text- align:right; padding-right: .5em;}
            > #ygrp-vital ul li .cat{
            > font-weight: bold;}
            > #ygrp-vital a{
            > text-decoration: none;}
            >
            > #ygrp-vital a:hover{
            > text-decoration: underline; }
            >
            > #ygrp-sponsor #hd{
            > color:#999;font- size:77%; }
            > #ygrp-sponsor #ov{
            > padding:6px 13px;background- color:#e0ecee; margin-bottom: 20px;}
            > #ygrp-sponsor #ov ul{
            > padding:0 0 0 8px;margin:0; }
            > #ygrp-sponsor #ov li{
            > list-style-type: square;padding: 6px 0;font-size: 77%;}
            > #ygrp-sponsor #ov li a{
            > text-decoration: none;font- size:130% ;}
            > #ygrp-sponsor #nc{
            > background-color: #eee;margin- bottom:20px; padding:0 8px;}
            > #ygrp-sponsor .ad{
            > padding:8px 0;}
            > #ygrp-sponsor .ad #hd1{
            > font-family: Arial;font- weight:bold; color:#628c2a; font-size: 100%;line- height:122% ;}
            > #ygrp-sponsor .ad a{
            > text-decoration: none;}
            > #ygrp-sponsor .ad a:hover{
            > text-decoration: underline; }
            > #ygrp-sponsor .ad p{
            > margin:0;}
            > o{font-size: 0;}
            > .MsoNormal{
            > margin:0 0 0 0;}
            > #ygrp-text tt{
            > font-size:120% ;}
            > blockquote{margin: 0 0 0 4px;}
            > .replbq{margin: 4;}
            > -->
            >


          • bj4fr
            ... myEditor.get( element ).value.replace(/ ]*) /gi, ); should be done after the node change instead of when the Editor saves the HTML out. Ex:
            Message 5 of 6 , Oct 5, 2007
            • 0 Attachment
              I think this:

              > myEditor.saveHTML();
              > var html =
              myEditor.get('element').value.replace(/<(\/?)span([^>]*)>/gi, '');

              should be done after the node change instead of when the Editor saves
              the HTML out.
              Ex: if the span contains a style like font-color: red, when the user
              paste his text, he will see a red text... But when the Editor saves the
              HTML out, you're gonna remove the span tags and the style too. So the
              user may think that there is a bug.

              Actully in my Editor I only allow few options, because if I allow more
              the generated code becomes easily inaccessible. It's the reason for what
              I want clean the HTML.


              Thank you again for your help that allowed me to do what I wanted :)


              --- In ydn-javascript@yahoogroups.com, dav.glass@... wrote:
              >
              > bj4fr --
              >
              > Please put in a feature request here:
              > http://developer.yahoo.com/yui/editor/#filingbugs
              >
              > Your use case is interesting, please include that in the request..
              Normally, when you say you don't want a tag, you say you don't want any
              part of it.
              >
              > Take a script tag for example, you wouldn't want the content of that
              script in the page either..
              >
              > What I would recommend in the case of spans, it to do that when the
              Editor saves the HTML out..
              >
              > Something like:
              >
              > myEditor.saveHTML();
              > var html =
              myEditor.get('element').value.replace(/<(\/?)span([^>]*)>/gi, '');
              >
              > Hope that helps :)
              > Dav
              >
              >
              > Dav Glass
              > dav.glass@...
              > blog.davglass.com
              >
              > + Windows: n. - The most successful computer virus, ever. +
              > + A computer without a Microsoft operating system is like a dog
              > without bricks tied to its head +
              > + A Microsoft Certified Systems Engineer is to computing what a
              > McDonalds Certified Food Specialist is to fine cuisine +
              >
              > ----- Original Message ----
              > From: bj4fr bj4fr@...
              > To: ydn-javascript@yahoogroups.com
              > Sent: Thursday, October 4, 2007 1:28:03 AM
              > Subject: [ydn-javascript] Re: Rich-Text Editor - How do forbid input
              insert?
              >
              >
              >
              >
              >
              >
              >
              >
              >
              >
              >
              >
              >
              > Thanks it's exactly what I wanted for select, textarea,
              input...
              >
              > But something wrong is the fact that this function removes also the
              content of the tag.
              > For example if you don't want span tags, when a user is pasting a text
              which contains span tags, he will lose some information:
              >
              > Hello <span>World</span>
              >
              > will become
              >
              > Hello
              >
              > So for people who want keeping the content of a balise you can do like
              that:
              >
              > function strip_span_tags( text){
              >
              > //We remove the span tag, but keeping its content
              > return text.replace(/<(\/?)span>/gi, '');
              > }
              >
              > Also I've got another question about accessibility.
              > Normaly when you write a text, this one should be in <p> tags or some
              other tags but not without tags in a <div>.
              > For example when we write a text, a list and a text, we should write
              this html code:
              > <p>my text1</p>
              > <ul>
              > <li>el1</li>
              > <li>el2</li>
              > </ul>
              > <p>my text2</p>
              >
              > but the Rich-Text Editor won't write the <p> tags.
              > Is that normal?
              > Is there an option to do that?
              >
              > Thanks again
              >
              > --- In ydn-javascript@ yahoogroups. com, dav.glass@ . wrote:
              > >
              > > bj4fr --
              > >
              > > Thanks for catching this issue :)
              > >
              > > I have fixed the issue for the next release, but here is a work
              around for you to use until then:
              > > http://blog. davglass. com/files/ yui/editor17/
              > >
              > > Thanks
              > > Dav
              > >
              > >
              > > Dav Glass
              > > dav.glass@ .
              > > blog.davglass. com
              > >
              > > + Windows: n. - The most successful computer virus, ever. +
              > > + A computer without a Microsoft operating system is like a dog
              > > without bricks tied to its head +
              > > + A Microsoft Certified Systems Engineer is to computing what a
              > > McDonalds Certified Food Specialist is to fine cuisine +
              > >
              > > ----- Original Message ----
              > > From: bj4fr bj4fr@
              > > To: ydn-javascript@ yahoogroups. com
              > > Sent: Tuesday, October 2, 2007 2:04:07 AM
              > > Subject: [ydn-javascript] Rich-Text Editor - How do forbid input
              insert?
              > >
              > >
              > >
              > >
              > >
              > >
              > >
              > >
              > >
              > >
              > >
              > >
              > >
              > > Hi,
              > >
              > >
              > >
              > > I'm using Rich-Text Editor which is a great stuff but I noticed
              > >
              > > something wrong with mine. I can insert html tag like select,
              > >
              > > textarea... using copy/paste (ctrl + v) and I'd like to forbid it.
              Is
              > >
              > > there a mean to do that?
              > >
              > >
              > >
              > > I try with invalidHTML property but that do noting:
              > >
              > > var myEditorConfig = {
              > >
              > > height: '250px',
              > >
              > > dompath: false,
              > >
              > > animate: false,
              > >
              > > invalidHTML: {
              > >
              > > input: true,
              > >
              > > button: true,
              > >
              > > select: true,
              > >
              > > link: true,
              > >
              > > html: true,
              > >
              > > body: true,
              > >
              > > script: true,
              > >
              > > style: true,
              > >
              > > textarea: true
              > >
              > > }
              > >
              > > };
              > >
              > >
              > >
              > > Thanks
              > >
              > >
              > >
              > >
              > >
              > >
              > >
              > >
              > >
              > >
              > >
              > >
              > >
              > >
              > > <!--
              > >
              > > #ygrp-mkp{
              > > border:1px solid #d8d8d8;font- family:Arial; margin:14px
              0px;padding: 0px 14px;}
              > > #ygrp-mkp hr{
              > > border:1px solid #d8d8d8;}
              > > #ygrp-mkp #hd{
              > > color:#628c2a; font-size: 85%;font- weight:bold; line-height:
              122%;margin: 10px 0px;}
              > > #ygrp-mkp #ads{
              > > margin-bottom: 10px;}
              > > #ygrp-mkp .ad{
              > > padding:0 0;}
              > > #ygrp-mkp .ad a{
              > > color:#0000ff; text-decoration: none;}
              > > -->
              > >
              > >
              > >
              > > <!--
              > >
              > > #ygrp-sponsor #ygrp-lc{
              > > font-family: Arial;}
              > > #ygrp-sponsor #ygrp-lc #hd{
              > > margin:10px 0px;font-weight: bold;font- size:78%; line-height:
              122%;}
              > > #ygrp-sponsor #ygrp-lc .ad{
              > > margin-bottom: 10px;padding: 0 0;}
              > > -->
              > >
              > >
              > >
              > > <!--
              > >
              > > #ygrp-mlmsg {font-size:13px; font-family: arial, helvetica, clean,
              sans-serif;}
              > > #ygrp-mlmsg table {font-size:inherit; font:100% ;}
              > > #ygrp-mlmsg select, input, textarea {font:99% arial, helvetica,
              clean, sans-serif;}
              > > #ygrp-mlmsg pre, code {font:115% monospace;}
              > > #ygrp-mlmsg * {line-height: 1.22em;}
              > > #ygrp-text{
              > > font-family: Georgia;
              > > }
              > > #ygrp-text p{
              > > margin:0 0 1em 0;}
              > > #ygrp-tpmsgs{
              > > font-family: Arial;
              > > clear:both;}
              > > #ygrp-vitnav{
              > > padding-top: 10px;font- family:Verdana; font-size: 77%;margin: 0;}
              > > #ygrp-vitnav a{
              > > padding:0 1px;}
              > > #ygrp-actbar{
              > > clear:both;margin: 25px 0;white-space: nowrap;color: #666;text-
              align:right; }
              > > #ygrp-actbar .left{
              > > float:left;white- space:nowrap; }
              > > .bld{font-weight: bold;}
              > > #ygrp-grft{
              > > font-family: Verdana;font- size:77%; padding:15px 0;}
              > > #ygrp-ft{
              > > font-family: verdana;font- size:77%; border-top: 1px solid #666;
              > > padding:5px 0;
              > > }
              > > #ygrp-mlmsg #logo{
              > > padding-bottom: 10px;}
              > >
              > > #ygrp-vital{
              > > background-color: #e0ecee;margin- bottom:20px; padding:2px 0 8px
              8px;}
              > > #ygrp-vital #vithd{
              > > font-size:77% ;font-family: Verdana;font- weight:bold; color:#333;
              text-transform: uppercase; }
              > > #ygrp-vital ul{
              > > padding:0;margin: 2px 0;}
              > > #ygrp-vital ul li{
              > > list-style-type: none;clear: both;border: 1px solid #e0ecee;
              > > }
              > > #ygrp-vital ul li .ct{
              > > font-weight: bold;color: #ff7900;float: right;width: 2em;text-
              align:right; padding-right: .5em;}
              > > #ygrp-vital ul li .cat{
              > > font-weight: bold;}
              > > #ygrp-vital a{
              > > text-decoration: none;}
              > >
              > > #ygrp-vital a:hover{
              > > text-decoration: underline; }
              > >
              > > #ygrp-sponsor #hd{
              > > color:#999;font- size:77%; }
              > > #ygrp-sponsor #ov{
              > > padding:6px 13px;background- color:#e0ecee; margin-bottom: 20px;}
              > > #ygrp-sponsor #ov ul{
              > > padding:0 0 0 8px;margin:0; }
              > > #ygrp-sponsor #ov li{
              > > list-style-type: square;padding: 6px 0;font-size: 77%;}
              > > #ygrp-sponsor #ov li a{
              > > text-decoration: none;font- size:130% ;}
              > > #ygrp-sponsor #nc{
              > > background-color: #eee;margin- bottom:20px; padding:0 8px;}
              > > #ygrp-sponsor .ad{
              > > padding:8px 0;}
              > > #ygrp-sponsor .ad #hd1{
              > > font-family: Arial;font- weight:bold; color:#628c2a; font-size:
              100%;line- height:122% ;}
              > > #ygrp-sponsor .ad a{
              > > text-decoration: none;}
              > > #ygrp-sponsor .ad a:hover{
              > > text-decoration: underline; }
              > > #ygrp-sponsor .ad p{
              > > margin:0;}
              > > o{font-size: 0;}
              > > .MsoNormal{
              > > margin:0 0 0 0;}
              > > #ygrp-text tt{
              > > font-size:120% ;}
              > > blockquote{margin: 0 0 0 4px;}
              > > .replbq{margin: 4;}
              > > -->
              > >
              >
              >
              >
              >
              >
              >
              >
              >
              >
              >
              >
              >
              > <!--
              >
              > #ygrp-mkp{
              > border:1px solid #d8d8d8;font-family:Arial;margin:14px 0px;padding:0px
              14px;}
              > #ygrp-mkp hr{
              > border:1px solid #d8d8d8;}
              > #ygrp-mkp #hd{
              >
              color:#628c2a;font-size:85%;font-weight:bold;line-height:122%;margin:10p\
              x 0px;}
              > #ygrp-mkp #ads{
              > margin-bottom:10px;}
              > #ygrp-mkp .ad{
              > padding:0 0;}
              > #ygrp-mkp .ad a{
              > color:#0000ff;text-decoration:none;}
              > -->
              >
              >
              >
              > <!--
              >
              > #ygrp-sponsor #ygrp-lc{
              > font-family:Arial;}
              > #ygrp-sponsor #ygrp-lc #hd{
              > margin:10px 0px;font-weight:bold;font-size:78%;line-height:122%;}
              > #ygrp-sponsor #ygrp-lc .ad{
              > margin-bottom:10px;padding:0 0;}
              > -->
              >
              >
              >
              > <!--
              >
              > #ygrp-mlmsg {font-size:13px;font-family:arial, helvetica, clean,
              sans-serif;}
              > #ygrp-mlmsg table {font-size:inherit;font:100%;}
              > #ygrp-mlmsg select, input, textarea {font:99% arial, helvetica, clean,
              sans-serif;}
              > #ygrp-mlmsg pre, code {font:115% monospace;}
              > #ygrp-mlmsg * {line-height:1.22em;}
              > #ygrp-text{
              > font-family:Georgia;
              > }
              > #ygrp-text p{
              > margin:0 0 1em 0;}
              > #ygrp-tpmsgs{
              > font-family:Arial;
              > clear:both;}
              > #ygrp-vitnav{
              > padding-top:10px;font-family:Verdana;font-size:77%;margin:0;}
              > #ygrp-vitnav a{
              > padding:0 1px;}
              > #ygrp-actbar{
              > clear:both;margin:25px
              0;white-space:nowrap;color:#666;text-align:right;}
              > #ygrp-actbar .left{
              > float:left;white-space:nowrap;}
              > .bld{font-weight:bold;}
              > #ygrp-grft{
              > font-family:Verdana;font-size:77%;padding:15px 0;}
              > #ygrp-ft{
              > font-family:verdana;font-size:77%;border-top:1px solid #666;
              > padding:5px 0;
              > }
              > #ygrp-mlmsg #logo{
              > padding-bottom:10px;}
              >
              > #ygrp-vital{
              > background-color:#e0ecee;margin-bottom:20px;padding:2px 0 8px 8px;}
              > #ygrp-vital #vithd{
              >
              font-size:77%;font-family:Verdana;font-weight:bold;color:#333;text-trans\
              form:uppercase;}
              > #ygrp-vital ul{
              > padding:0;margin:2px 0;}
              > #ygrp-vital ul li{
              > list-style-type:none;clear:both;border:1px solid #e0ecee;
              > }
              > #ygrp-vital ul li .ct{
              >
              font-weight:bold;color:#ff7900;float:right;width:2em;text-align:right;pa\
              dding-right:.5em;}
              > #ygrp-vital ul li .cat{
              > font-weight:bold;}
              > #ygrp-vital a{
              > text-decoration:none;}
              >
              > #ygrp-vital a:hover{
              > text-decoration:underline;}
              >
              > #ygrp-sponsor #hd{
              > color:#999;font-size:77%;}
              > #ygrp-sponsor #ov{
              > padding:6px 13px;background-color:#e0ecee;margin-bottom:20px;}
              > #ygrp-sponsor #ov ul{
              > padding:0 0 0 8px;margin:0;}
              > #ygrp-sponsor #ov li{
              > list-style-type:square;padding:6px 0;font-size:77%;}
              > #ygrp-sponsor #ov li a{
              > text-decoration:none;font-size:130%;}
              > #ygrp-sponsor #nc{
              > background-color:#eee;margin-bottom:20px;padding:0 8px;}
              > #ygrp-sponsor .ad{
              > padding:8px 0;}
              > #ygrp-sponsor .ad #hd1{
              >
              font-family:Arial;font-weight:bold;color:#628c2a;font-size:100%;line-hei\
              ght:122%;}
              > #ygrp-sponsor .ad a{
              > text-decoration:none;}
              > #ygrp-sponsor .ad a:hover{
              > text-decoration:underline;}
              > #ygrp-sponsor .ad p{
              > margin:0;}
              > o{font-size:0;}
              > .MsoNormal{
              > margin:0 0 0 0;}
              > #ygrp-text tt{
              > font-size:120%;}
              > blockquote{margin:0 0 0 4px;}
              > .replbq{margin:4;}
              > -->
              >
            • bj4fr
              ... myEditor.get( element ).value.replace(/ ]*) /gi, ); should be done after the node change instead of when the Editor saves the HTML out. Ex:
              Message 6 of 6 , Oct 5, 2007
              • 0 Attachment
                I think this:

                > myEditor.saveHTML();
                > var html =
                myEditor.get('element').value.replace(/<(\/?)span([^>]*)>/gi, '');

                should be done after the node change instead of when the Editor saves
                the HTML out.
                Ex: if the span contains a style like font-color: red, when the user
                paste his text, he will see a red text... But when the Editor saves the
                HTML out, you're gonna remove the span tags and the style too. So the
                user may think that there is a bug.

                Actully in my Editor I only allow few options, because if I allow more
                the generated code becomes easily inaccessible. It's the reason for what
                I want clean the HTML.


                Thank you again for your help that allowed me to do what I wanted :)


                --- In ydn-javascript@yahoogroups.com, dav.glass@... wrote:
                >
                > bj4fr --
                >
                > Please put in a feature request here:
                > http://developer.yahoo.com/yui/editor/#filingbugs
                >
                > Your use case is interesting, please include that in the request..
                Normally, when you say you don't want a tag, you say you don't want any
                part of it.
                >
                > Take a script tag for example, you wouldn't want the content of that
                script in the page either..
                >
                > What I would recommend in the case of spans, it to do that when the
                Editor saves the HTML out..
                >
                > Something like:
                >
                > myEditor.saveHTML();
                > var html =
                myEditor.get('element').value.replace(/<(\/?)span([^>]*)>/gi, '');
                >
                > Hope that helps :)
                > Dav
                >
                >
                > Dav Glass
                > dav.glass@...
                > blog.davglass.com
                >
                > + Windows: n. - The most successful computer virus, ever. +
                > + A computer without a Microsoft operating system is like a dog
                > without bricks tied to its head +
                > + A Microsoft Certified Systems Engineer is to computing what a
                > McDonalds Certified Food Specialist is to fine cuisine +
                >
                > ----- Original Message ----
                > From: bj4fr bj4fr@...
                > To: ydn-javascript@yahoogroups.com
                > Sent: Thursday, October 4, 2007 1:28:03 AM
                > Subject: [ydn-javascript] Re: Rich-Text Editor - How do forbid input
                insert?
                >
                >
                >
                >
                >
                >
                >
                >
                >
                >
                >
                >
                >
                > Thanks it's exactly what I wanted for select, textarea,
                input...
                >
                > But something wrong is the fact that this function removes also the
                content of the tag.
                > For example if you don't want span tags, when a user is pasting a text
                which contains span tags, he will lose some information:
                >
                > Hello <span>World</span>
                >
                > will become
                >
                > Hello
                >
                > So for people who want keeping the content of a balise you can do like
                that:
                >
                > function strip_span_tags( text){
                >
                > //We remove the span tag, but keeping its content
                > return text.replace(/<(\/?)span>/gi, '');
                > }
                >
                > Also I've got another question about accessibility.
                > Normaly when you write a text, this one should be in <p> tags or some
                other tags but not without tags in a <div>.
                > For example when we write a text, a list and a text, we should write
                this html code:
                > <p>my text1</p>
                > <ul>
                > <li>el1</li>
                > <li>el2</li>
                > </ul>
                > <p>my text2</p>
                >
                > but the Rich-Text Editor won't write the <p> tags.
                > Is that normal?
                > Is there an option to do that?
                >
                > Thanks again
                >
                > --- In ydn-javascript@ yahoogroups. com, dav.glass@ . wrote:
                > >
                > > bj4fr --
                > >
                > > Thanks for catching this issue :)
                > >
                > > I have fixed the issue for the next release, but here is a work
                around for you to use until then:
                > > http://blog. davglass. com/files/ yui/editor17/
                > >
                > > Thanks
                > > Dav
                > >
                > >
                > > Dav Glass
                > > dav.glass@ .
                > > blog.davglass. com
                > >
                > > + Windows: n. - The most successful computer virus, ever. +
                > > + A computer without a Microsoft operating system is like a dog
                > > without bricks tied to its head +
                > > + A Microsoft Certified Systems Engineer is to computing what a
                > > McDonalds Certified Food Specialist is to fine cuisine +
                > >
                > > ----- Original Message ----
                > > From: bj4fr bj4fr@
                > > To: ydn-javascript@ yahoogroups. com
                > > Sent: Tuesday, October 2, 2007 2:04:07 AM
                > > Subject: [ydn-javascript] Rich-Text Editor - How do forbid input
                insert?
                > >
                > >
                > >
                > >
                > >
                > >
                > >
                > >
                > >
                > >
                > >
                > >
                > >
                > > Hi,
                > >
                > >
                > >
                > > I'm using Rich-Text Editor which is a great stuff but I noticed
                > >
                > > something wrong with mine. I can insert html tag like select,
                > >
                > > textarea... using copy/paste (ctrl + v) and I'd like to forbid it.
                Is
                > >
                > > there a mean to do that?
                > >
                > >
                > >
                > > I try with invalidHTML property but that do noting:
                > >
                > > var myEditorConfig = {
                > >
                > > height: '250px',
                > >
                > > dompath: false,
                > >
                > > animate: false,
                > >
                > > invalidHTML: {
                > >
                > > input: true,
                > >
                > > button: true,
                > >
                > > select: true,
                > >
                > > link: true,
                > >
                > > html: true,
                > >
                > > body: true,
                > >
                > > script: true,
                > >
                > > style: true,
                > >
                > > textarea: true
                > >
                > > }
                > >
                > > };
                > >
                > >
                > >
                > > Thanks
                > >
                > >
                > >
                > >
                > >
                > >
                > >
                > >
                > >
                > >
                > >
                > >
                > >
                > >
                > > <!--
                > >
                > > #ygrp-mkp{
                > > border:1px solid #d8d8d8;font- family:Arial; margin:14px
                0px;padding: 0px 14px;}
                > > #ygrp-mkp hr{
                > > border:1px solid #d8d8d8;}
                > > #ygrp-mkp #hd{
                > > color:#628c2a; font-size: 85%;font- weight:bold; line-height:
                122%;margin: 10px 0px;}
                > > #ygrp-mkp #ads{
                > > margin-bottom: 10px;}
                > > #ygrp-mkp .ad{
                > > padding:0 0;}
                > > #ygrp-mkp .ad a{
                > > color:#0000ff; text-decoration: none;}
                > > -->
                > >
                > >
                > >
                > > <!--
                > >
                > > #ygrp-sponsor #ygrp-lc{
                > > font-family: Arial;}
                > > #ygrp-sponsor #ygrp-lc #hd{
                > > margin:10px 0px;font-weight: bold;font- size:78%; line-height:
                122%;}
                > > #ygrp-sponsor #ygrp-lc .ad{
                > > margin-bottom: 10px;padding: 0 0;}
                > > -->
                > >
                > >
                > >
                > > <!--
                > >
                > > #ygrp-mlmsg {font-size:13px; font-family: arial, helvetica, clean,
                sans-serif;}
                > > #ygrp-mlmsg table {font-size:inherit; font:100% ;}
                > > #ygrp-mlmsg select, input, textarea {font:99% arial, helvetica,
                clean, sans-serif;}
                > > #ygrp-mlmsg pre, code {font:115% monospace;}
                > > #ygrp-mlmsg * {line-height: 1.22em;}
                > > #ygrp-text{
                > > font-family: Georgia;
                > > }
                > > #ygrp-text p{
                > > margin:0 0 1em 0;}
                > > #ygrp-tpmsgs{
                > > font-family: Arial;
                > > clear:both;}
                > > #ygrp-vitnav{
                > > padding-top: 10px;font- family:Verdana; font-size: 77%;margin: 0;}
                > > #ygrp-vitnav a{
                > > padding:0 1px;}
                > > #ygrp-actbar{
                > > clear:both;margin: 25px 0;white-space: nowrap;color: #666;text-
                align:right; }
                > > #ygrp-actbar .left{
                > > float:left;white- space:nowrap; }
                > > .bld{font-weight: bold;}
                > > #ygrp-grft{
                > > font-family: Verdana;font- size:77%; padding:15px 0;}
                > > #ygrp-ft{
                > > font-family: verdana;font- size:77%; border-top: 1px solid #666;
                > > padding:5px 0;
                > > }
                > > #ygrp-mlmsg #logo{
                > > padding-bottom: 10px;}
                > >
                > > #ygrp-vital{
                > > background-color: #e0ecee;margin- bottom:20px; padding:2px 0 8px
                8px;}
                > > #ygrp-vital #vithd{
                > > font-size:77% ;font-family: Verdana;font- weight:bold; color:#333;
                text-transform: uppercase; }
                > > #ygrp-vital ul{
                > > padding:0;margin: 2px 0;}
                > > #ygrp-vital ul li{
                > > list-style-type: none;clear: both;border: 1px solid #e0ecee;
                > > }
                > > #ygrp-vital ul li .ct{
                > > font-weight: bold;color: #ff7900;float: right;width: 2em;text-
                align:right; padding-right: .5em;}
                > > #ygrp-vital ul li .cat{
                > > font-weight: bold;}
                > > #ygrp-vital a{
                > > text-decoration: none;}
                > >
                > > #ygrp-vital a:hover{
                > > text-decoration: underline; }
                > >
                > > #ygrp-sponsor #hd{
                > > color:#999;font- size:77%; }
                > > #ygrp-sponsor #ov{
                > > padding:6px 13px;background- color:#e0ecee; margin-bottom: 20px;}
                > > #ygrp-sponsor #ov ul{
                > > padding:0 0 0 8px;margin:0; }
                > > #ygrp-sponsor #ov li{
                > > list-style-type: square;padding: 6px 0;font-size: 77%;}
                > > #ygrp-sponsor #ov li a{
                > > text-decoration: none;font- size:130% ;}
                > > #ygrp-sponsor #nc{
                > > background-color: #eee;margin- bottom:20px; padding:0 8px;}
                > > #ygrp-sponsor .ad{
                > > padding:8px 0;}
                > > #ygrp-sponsor .ad #hd1{
                > > font-family: Arial;font- weight:bold; color:#628c2a; font-size:
                100%;line- height:122% ;}
                > > #ygrp-sponsor .ad a{
                > > text-decoration: none;}
                > > #ygrp-sponsor .ad a:hover{
                > > text-decoration: underline; }
                > > #ygrp-sponsor .ad p{
                > > margin:0;}
                > > o{font-size: 0;}
                > > .MsoNormal{
                > > margin:0 0 0 0;}
                > > #ygrp-text tt{
                > > font-size:120% ;}
                > > blockquote{margin: 0 0 0 4px;}
                > > .replbq{margin: 4;}
                > > -->
                > >
                >
                >
                >
                >
                >
                >
                >
                >
                >
                >
                >
                >
                > <!--
                >
                > #ygrp-mkp{
                > border:1px solid #d8d8d8;font-family:Arial;margin:14px 0px;padding:0px
                14px;}
                > #ygrp-mkp hr{
                > border:1px solid #d8d8d8;}
                > #ygrp-mkp #hd{
                >
                color:#628c2a;font-size:85%;font-weight:bold;line-height:122%;margin:10p\
                x 0px;}
                > #ygrp-mkp #ads{
                > margin-bottom:10px;}
                > #ygrp-mkp .ad{
                > padding:0 0;}
                > #ygrp-mkp .ad a{
                > color:#0000ff;text-decoration:none;}
                > -->
                >
                >
                >
                > <!--
                >
                > #ygrp-sponsor #ygrp-lc{
                > font-family:Arial;}
                > #ygrp-sponsor #ygrp-lc #hd{
                > margin:10px 0px;font-weight:bold;font-size:78%;line-height:122%;}
                > #ygrp-sponsor #ygrp-lc .ad{
                > margin-bottom:10px;padding:0 0;}
                > -->
                >
                >
                >
                > <!--
                >
                > #ygrp-mlmsg {font-size:13px;font-family:arial, helvetica, clean,
                sans-serif;}
                > #ygrp-mlmsg table {font-size:inherit;font:100%;}
                > #ygrp-mlmsg select, input, textarea {font:99% arial, helvetica, clean,
                sans-serif;}
                > #ygrp-mlmsg pre, code {font:115% monospace;}
                > #ygrp-mlmsg * {line-height:1.22em;}
                > #ygrp-text{
                > font-family:Georgia;
                > }
                > #ygrp-text p{
                > margin:0 0 1em 0;}
                > #ygrp-tpmsgs{
                > font-family:Arial;
                > clear:both;}
                > #ygrp-vitnav{
                > padding-top:10px;font-family:Verdana;font-size:77%;margin:0;}
                > #ygrp-vitnav a{
                > padding:0 1px;}
                > #ygrp-actbar{
                > clear:both;margin:25px
                0;white-space:nowrap;color:#666;text-align:right;}
                > #ygrp-actbar .left{
                > float:left;white-space:nowrap;}
                > .bld{font-weight:bold;}
                > #ygrp-grft{
                > font-family:Verdana;font-size:77%;padding:15px 0;}
                > #ygrp-ft{
                > font-family:verdana;font-size:77%;border-top:1px solid #666;
                > padding:5px 0;
                > }
                > #ygrp-mlmsg #logo{
                > padding-bottom:10px;}
                >
                > #ygrp-vital{
                > background-color:#e0ecee;margin-bottom:20px;padding:2px 0 8px 8px;}
                > #ygrp-vital #vithd{
                >
                font-size:77%;font-family:Verdana;font-weight:bold;color:#333;text-trans\
                form:uppercase;}
                > #ygrp-vital ul{
                > padding:0;margin:2px 0;}
                > #ygrp-vital ul li{
                > list-style-type:none;clear:both;border:1px solid #e0ecee;
                > }
                > #ygrp-vital ul li .ct{
                >
                font-weight:bold;color:#ff7900;float:right;width:2em;text-align:right;pa\
                dding-right:.5em;}
                > #ygrp-vital ul li .cat{
                > font-weight:bold;}
                > #ygrp-vital a{
                > text-decoration:none;}
                >
                > #ygrp-vital a:hover{
                > text-decoration:underline;}
                >
                > #ygrp-sponsor #hd{
                > color:#999;font-size:77%;}
                > #ygrp-sponsor #ov{
                > padding:6px 13px;background-color:#e0ecee;margin-bottom:20px;}
                > #ygrp-sponsor #ov ul{
                > padding:0 0 0 8px;margin:0;}
                > #ygrp-sponsor #ov li{
                > list-style-type:square;padding:6px 0;font-size:77%;}
                > #ygrp-sponsor #ov li a{
                > text-decoration:none;font-size:130%;}
                > #ygrp-sponsor #nc{
                > background-color:#eee;margin-bottom:20px;padding:0 8px;}
                > #ygrp-sponsor .ad{
                > padding:8px 0;}
                > #ygrp-sponsor .ad #hd1{
                >
                font-family:Arial;font-weight:bold;color:#628c2a;font-size:100%;line-hei\
                ght:122%;}
                > #ygrp-sponsor .ad a{
                > text-decoration:none;}
                > #ygrp-sponsor .ad a:hover{
                > text-decoration:underline;}
                > #ygrp-sponsor .ad p{
                > margin:0;}
                > o{font-size:0;}
                > .MsoNormal{
                > margin:0 0 0 0;}
                > #ygrp-text tt{
                > font-size:120%;}
                > blockquote{margin:0 0 0 4px;}
                > .replbq{margin:4;}
                > -->
                >
              Your message has been successfully submitted and would be delivered to recipients shortly.