582 : string
583 {
584 $valid_elements = [];
585
586 foreach ($a_html_tags as $tag) {
587 switch ($tag) {
588 case 'a':
589 $valid_elements[] = 'a[accesskey|charset|class|coords|dir<ltr?rtl|href|hreflang|id|lang|name'
590 . '|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup'
591 . '|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|rel|rev'
592 . '|shape<circle?default?poly?rect|style|tabindex|title|target|type]';
593 break;
594 case 'abbr':
595 $valid_elements[] = 'abbr[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
596 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
597 . '|title]';
598 break;
599 case 'acronym':
600 $valid_elements[] = 'acronym[class|dir<ltr?rtl|id|id|lang|onclick|ondblclick|onkeydown|onkeypress'
601 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
602 . '|title]';
603 break;
604 case 'address':
605 $valid_elements[] = 'address[class|align|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown'
606 . '|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover'
607 . '|onmouseup|style|title]';
608 break;
609 case 'applet':
610 $valid_elements[] = 'applet[align<bottom?left?middle?right?top|alt|archive|class|code|codebase'
611 . '|height|hspace|id|name|object|style|title|vspace|width]';
612 break;
613 case 'area':
614 $valid_elements[] = 'area[accesskey|alt|class|coords|dir<ltr?rtl|href|id|lang|nohref<nohref'
615 . '|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup'
616 . '|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup'
617 . '|shape<circle?default?poly?rect|style|tabindex|title|target]';
618 break;
619 case 'base':
620 $valid_elements[] = 'base[href|target]';
621 break;
622 case 'basefont':
623 $valid_elements[] = 'basefont[color|face|id|size]';
624 break;
625 case 'bdo':
626 $valid_elements[] = 'bdo[class|dir<ltr?rtl|id|lang|style|title]';
627 break;
628 case 'big':
629 $valid_elements[] = 'big[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
630 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
631 . '|title]';
632 break;
633 case 'blockquote':
634 $valid_elements[] = 'blockquote[dir|style|cite|class|dir<ltr?rtl|id|lang|onclick|ondblclick'
635 . '|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout'
636 . '|onmouseover|onmouseup|style|title]';
637 break;
638 case 'body':
639 $valid_elements[] = 'body[alink|background|bgcolor|class|dir<ltr?rtl|id|lang|link|onclick'
640 . '|ondblclick|onkeydown|onkeypress|onkeyup|onload|onmousedown|onmousemove'
641 . '|onmouseout|onmouseover|onmouseup|onunload|style|title|text|vlink]';
642 break;
643 case 'br':
644 $valid_elements[] = 'br[class|clear<all?left?none?right|id|style|title]';
645 break;
646 case 'button':
647 $valid_elements[] = 'button[accesskey|class|dir<ltr?rtl|disabled<disabled|id|lang|name|onblur'
648 . '|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup|onmousedown'
649 . '|onmousemove|onmouseout|onmouseover|onmouseup|style|tabindex|title|type'
650 . '|value]';
651 break;
652 case 'caption':
653 $valid_elements[] = 'caption[align<bottom?left?right?top|class|dir<ltr?rtl|id|lang|onclick'
654 . '|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove'
655 . '|onmouseout|onmouseover|onmouseup|style|title]';
656 break;
657 case 'center':
658 $valid_elements[] = 'center[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
659 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
660 . '|title]';
661 break;
662 case 'cite':
663 $valid_elements[] = 'cite[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
664 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
665 . '|title]';
666 break;
667 case 'code':
668 $valid_elements[] = 'code[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
669 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
670 . '|title]';
671 break;
672 case 'col':
673 $valid_elements[] = 'col[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl|id'
674 . '|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown'
675 . '|onmousemove|onmouseout|onmouseover|onmouseup|span|style|title'
676 . '|valign<baseline?bottom?middle?top|width]';
677 break;
678 case 'colgroup':
679 $valid_elements[] = 'colgroup[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl'
680 . '|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown'
681 . '|onmousemove|onmouseout|onmouseover|onmouseup|span|style|title'
682 . '|valign<baseline?bottom?middle?top|width]';
683 break;
684 case 'dd':
685 $valid_elements[] = 'dd[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup'
686 . '|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title]';
687 break;
688 case 'del':
689 $valid_elements[] = 'del[cite|class|datetime|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown'
690 . '|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover'
691 . '|onmouseup|style|title]';
692 break;
693 case 'dfn':
694 $valid_elements[] = 'dfn[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
695 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
696 . '|title]';
697 break;
698 case 'dir':
699 $valid_elements[] = 'dir[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown'
700 . '|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover'
701 . '|onmouseup|style|title]';
702 break;
703 case 'div':
704 $valid_elements[] = 'div[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick'
705 . '|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove'
706 . '|onmouseout|onmouseover|onmouseup|style|title]';
707 break;
708 case 'dl':
709 $valid_elements[] = 'dl[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown'
710 . '|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover'
711 . '|onmouseup|style|title]';
712 break;
713 case 'dt':
714 $valid_elements[] = 'dt[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup'
715 . '|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title]';
716 break;
717 case 'em':
718 $valid_elements[] = 'em/i[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
719 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
720 . '|title]';
721 break;
722 case 'fieldset':
723 $valid_elements[] = 'fieldset[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
724 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
725 . '|title]';
726 break;
727 case 'font':
728 $valid_elements[] = 'font[class|color|dir<ltr?rtl|face|id|lang|size|style|title]';
729 break;
730 case 'form':
731 $valid_elements[] = 'form[accept|accept-charset|action|class|dir<ltr?rtl|enctype|id|lang'
732 . '|method<get?post|name|onclick|ondblclick|onkeydown|onkeypress|onkeyup'
733 . '|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onreset|onsubmit'
734 . '|style|title|target]';
735 break;
736 case 'frame':
737 $valid_elements[] = 'frame[class|frameborder|id|longdesc|marginheight|marginwidth|name'
738 . '|noresize<noresize|scrolling<auto?no?yes|src|style|title]';
739 break;
740 case 'frameset':
741 $valid_elements[] = 'frameset[class|cols|id|onload|onunload|rows|style|title]';
742 break;
743 case 'h1':
744 $valid_elements[] = 'h1[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick'
745 . '|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove'
746 . '|onmouseout|onmouseover|onmouseup|style|title]';
747 break;
748 case 'h2':
749 $valid_elements[] = 'h2[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick'
750 . '|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove'
751 . '|onmouseout|onmouseover|onmouseup|style|title]';
752 break;
753 case 'h3':
754 $valid_elements[] = 'h3[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick'
755 . '|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove'
756 . '|onmouseout|onmouseover|onmouseup|style|title]';
757 break;
758 case 'h4':
759 $valid_elements[] = 'h4[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick'
760 . '|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove'
761 . '|onmouseout|onmouseover|onmouseup|style|title]';
762 break;
763 case 'h5':
764 $valid_elements[] = 'h5[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick'
765 . '|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove'
766 . '|onmouseout|onmouseover|onmouseup|style|title]';
767 break;
768 case 'h6':
769 $valid_elements[] = 'h6[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick'
770 . '|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove'
771 . '|onmouseout|onmouseover|onmouseup|style|title]';
772 break;
773 case 'head':
774 $valid_elements[] = 'head[dir<ltr?rtl|lang|profile]';
775 break;
776 case 'hr':
777 $valid_elements[] = 'hr[align<center?left?right|class|dir<ltr?rtl|id|lang|noshade<noshade|onclick'
778 . '|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove'
779 . '|onmouseout|onmouseover|onmouseup|size|style|title|width]';
780 break;
781 case 'html':
782 $valid_elements[] = 'html[dir<ltr?rtl|lang|version]';
783 break;
784 case 'iframe':
785 $valid_elements[] = 'iframe[align<bottom?left?middle?right?top|class|frameborder|height|id'
786 . '|longdesc|marginheight|marginwidth|name|scrolling<auto?no?yes|src|style'
787 . '|title|width]';
788 break;
789 case 'img':
790 $valid_elements[] = 'img[align<bottom?left?middle?right?top|alt|border|class|dir<ltr?rtl|height'
791 . '|hspace|id|ismap<ismap|lang|longdesc|name|onclick|ondblclick|onkeydown'
792 . '|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover'
793 . '|onmouseup|src|style|title|usemap|vspace|width]';
794 break;
795 case 'input':
796 $valid_elements[] = 'input[accept|accesskey|align<bottom?left?middle?right?top|alt'
797 . '|checked<checked|class|dir<ltr?rtl|disabled<disabled|id|ismap<ismap|lang'
798 . '|maxlength|name|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress'
799 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onselect'
800 . '|readonly<readonly|size|src|style|tabindex|title'
801 . '|type<button?checkbox?file?hidden?image?password?radio?reset?submit?text'
802 . '|usemap|value]';
803 break;
804 case 'ins':
805 $valid_elements[] = 'ins[cite|class|datetime|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown'
806 . '|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover'
807 . '|onmouseup|style|title]';
808 break;
809 case 'isindex':
810 $valid_elements[] = 'isindex[class|dir<ltr?rtl|id|lang|prompt|style|title]';
811 break;
812 case 'kbd':
813 $valid_elements[] = 'kbd[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
814 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
815 . '|title]';
816 break;
817 case 'label':
818 $valid_elements[] = 'label[accesskey|class|dir<ltr?rtl|for|id|lang|onblur|onclick|ondblclick'
819 . '|onfocus|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout'
820 . '|onmouseover|onmouseup|style|title]';
821 break;
822 case 'legend':
823 $valid_elements[] = 'legend[align<bottom?left?right?top|accesskey|class|dir<ltr?rtl|id|lang'
824 . '|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove'
825 . '|onmouseout|onmouseover|onmouseup|style|title]';
826 break;
827 case 'li':
828 $valid_elements[] = 'li[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup'
829 . '|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title|type'
830 . '|value]';
831 break;
832 case 'link':
833 $valid_elements[] = 'link[charset|class|dir<ltr?rtl|href|hreflang|id|lang|media|onclick'
834 . '|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove'
835 . '|onmouseout|onmouseover|onmouseup|rel|rev|style|title|target|type]';
836 break;
837 case 'map':
838 $valid_elements[] = 'map[class|dir<ltr?rtl|id|lang|name|onclick|ondblclick|onkeydown|onkeypress'
839 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
840 . '|title]';
841 break;
842 case 'menu':
843 $valid_elements[] = 'menu[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown'
844 . '|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover'
845 . '|onmouseup|style|title]';
846 break;
847 case 'meta':
848 $valid_elements[] = 'meta[content|dir<ltr?rtl|http-equiv|lang|name|scheme]';
849 break;
850 case 'noframes':
851 $valid_elements[] = 'noframes[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
852 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
853 . '|title]';
854 break;
855 case 'noscript':
856 $valid_elements[] = 'noscript[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
857 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
858 . '|title]';
859 break;
860 case 'object':
861 $valid_elements[] = 'object[align<bottom?left?middle?right?top|archive|border|class|classid'
862 . '|codebase|codetype|data|declare|dir<ltr?rtl|height|hspace|id|lang|name'
863 . '|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove'
864 . '|onmouseout|onmouseover|onmouseup|standby|style|tabindex|title|type|usemap'
865 . '|vspace|width]';
866 break;
867 case 'ol':
868 $valid_elements[] = 'ol[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown'
869 . '|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover'
870 . '|onmouseup|start|style|title|type]';
871 break;
872 case 'optgroup':
873 $valid_elements[] = 'optgroup[class|dir<ltr?rtl|disabled<disabled|id|label|lang|onclick'
874 . '|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove'
875 . '|onmouseout|onmouseover|onmouseup|style|title]';
876 break;
877 case 'option':
878 $valid_elements[] = 'option[class|dir<ltr?rtl|disabled<disabled|id|label|lang|onclick|ondblclick'
879 . '|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout'
880 . '|onmouseover|onmouseup|selected<selected|style|title|value]';
881 break;
882 case 'p':
883 $valid_elements[] = 'p[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick'
884 . '|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove'
885 . '|onmouseout|onmouseover|onmouseup|style|title]';
886 break;
887 case 'param':
888 $valid_elements[] = 'param[id|name|type|value|valuetype<DATA?OBJECT?REF]';
889 break;
890 case 'pre':
891 case 'listing':
892 case 'plaintext':
893 case 'xmp':
894 $valid_elements[] = 'pre/listing/plaintext/xmp[align|class|dir<ltr?rtl|id|lang|onclick|ondblclick'
895 . '|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout'
896 . '|onmouseover|onmouseup|style|title|width]';
897 break;
898 case 'q':
899 $valid_elements[] = 'q[cite|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
900 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
901 . '|title]';
902 break;
903 case 's':
904 $valid_elements[] = 's[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup'
905 . '|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title]';
906 break;
907 case 'samp':
908 $valid_elements[] = 'samp[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
909 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
910 . '|title]';
911 break;
912 case 'script':
913 $valid_elements[] = 'script[charset|defer|language|src|type]';
914 break;
915 case 'select':
916 $valid_elements[] = 'select[class|dir<ltr?rtl|disabled<disabled|id|lang|multiple<multiple|name'
917 . '|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup'
918 . '|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|size|style'
919 . '|tabindex|title]';
920 break;
921 case 'small':
922 $valid_elements[] = 'small[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
923 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
924 . '|title]';
925 break;
926 case 'span':
927 $valid_elements[] = 'span[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown'
928 . '|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover'
929 . '|onmouseup|style|title]';
930 break;
931 case 'strike':
932 $valid_elements[] = 'strike[class|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown'
933 . '|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover'
934 . '|onmouseup|style|title]';
935 break;
936 case 'strong':
937 $valid_elements[] = 'strong/b[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
938 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
939 . '|title]';
940 break;
941 case 'style':
942 $valid_elements[] = 'style[dir<ltr?rtl|lang|media|title|type]';
943 break;
944 case 'sub':
945 $valid_elements[] = 'sub[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
946 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
947 . '|title]';
948 break;
949 case 'sup':
950 $valid_elements[] = 'sup[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
951 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
952 . '|title]';
953 break;
954 case 'table':
955 $valid_elements[] = 'table[align<center?left?right|bgcolor|border|cellpadding|cellspacing|class'
956 . '|dir<ltr?rtl|frame|height|id|lang|onclick|ondblclick|onkeydown|onkeypress'
957 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|rules'
958 . '|style|summary|title|width]';
959 break;
960 case 'tbody':
961 $valid_elements[] = 'tbody[align<center?char?justify?left?right|char|class|charoff|dir<ltr?rtl|id'
962 . '|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown'
963 . '|onmousemove|onmouseout|onmouseover|onmouseup|style|title'
964 . '|valign<baseline?bottom?middle?top]';
965 break;
966 case 'td':
967 $valid_elements[] = 'td[abbr|align<center?char?justify?left?right|axis|bgcolor|char|charoff|class'
968 . '|colspan|dir<ltr?rtl|headers|height|id|lang|nowrap<nowrap|onclick'
969 . '|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove'
970 . '|onmouseout|onmouseover|onmouseup|rowspan|scope<col?colgroup?row?rowgroup'
971 . '|style|title|valign<baseline?bottom?middle?top|width]';
972 break;
973 case 'textarea':
974 $valid_elements[] = 'textarea[accesskey|class|cols|dir<ltr?rtl|disabled<disabled|id|lang|name'
975 . '|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup'
976 . '|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onselect'
977 . '|readonly<readonly|rows|style|tabindex|title]';
978 break;
979 case 'tfoot':
980 $valid_elements[] = 'tfoot[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl|id'
981 . '|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown'
982 . '|onmousemove|onmouseout|onmouseover|onmouseup|style|title'
983 . '|valign<baseline?bottom?middle?top]';
984 break;
985 case 'th':
986 $valid_elements[] = 'th[abbr|align<center?char?justify?left?right|axis|bgcolor|char|charoff|class'
987 . '|colspan|dir<ltr?rtl|headers|height|id|lang|nowrap<nowrap|onclick'
988 . '|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove'
989 . '|onmouseout|onmouseover|onmouseup|rowspan|scope<col?colgroup?row?rowgroup'
990 . '|style|title|valign<baseline?bottom?middle?top|width]';
991 break;
992 case 'thead':
993 $valid_elements[] = 'thead[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl|id'
994 . '|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown'
995 . '|onmousemove|onmouseout|onmouseover|onmouseup|style|title'
996 . '|valign<baseline?bottom?middle?top]';
997 break;
998 case 'title':
999 $valid_elements[] = 'title[dir<ltr?rtl|lang]';
1000 break;
1001 case 'tr':
1002 $valid_elements[] = 'tr[abbr|align<center?char?justify?left?right|bgcolor|char|charoff|class'
1003 . '|rowspan|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
1004 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
1005 . '|title|valign<baseline?bottom?middle?top]';
1006 break;
1007 case 'tt':
1008 $valid_elements[] = 'tt[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup'
1009 . '|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title]';
1010 break;
1011 case 'u':
1012 $valid_elements[] = 'u[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup'
1013 . '|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title]';
1014
1015
1016
1017 $valid_elements[] = 'span[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown'
1018 . '|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover'
1019 . '|onmouseup|style|title]';
1020 break;
1021 case 'ul':
1022 $valid_elements[] = 'ul[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown'
1023 . '|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover'
1024 . '|onmouseup|style|title|type]';
1025 break;
1026 case 'var':
1027 $valid_elements[] = 'var[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
1028 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
1029 . '|title]';
1030 break;
1031 }
1032 }
1033
1034 return implode(',', $valid_elements);
1035 }