689 : string
690 {
691 $valid_elements = [];
692
693 foreach ($a_html_tags as $tag) {
694 switch ($tag) {
695 case 'a':
696 $valid_elements[] = 'a[accesskey|charset|class|coords|dir<ltr?rtl|href|hreflang|id|lang|name'
697 . '|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup'
698 . '|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|rel|rev'
699 . '|shape<circle?default?poly?rect|style|tabindex|title|target|type]';
700 break;
701 case 'abbr':
702 $valid_elements[] = 'abbr[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
703 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
704 . '|title]';
705 break;
706 case 'acronym':
707 $valid_elements[] = 'acronym[class|dir<ltr?rtl|id|id|lang|onclick|ondblclick|onkeydown|onkeypress'
708 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
709 . '|title]';
710 break;
711 case 'address':
712 $valid_elements[] = 'address[class|align|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown'
713 . '|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover'
714 . '|onmouseup|style|title]';
715 break;
716 case 'applet':
717 $valid_elements[] = 'applet[align<bottom?left?middle?right?top|alt|archive|class|code|codebase'
718 . '|height|hspace|id|name|object|style|title|vspace|width]';
719 break;
720 case 'area':
721 $valid_elements[] = 'area[accesskey|alt|class|coords|dir<ltr?rtl|href|id|lang|nohref<nohref'
722 . '|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup'
723 . '|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup'
724 . '|shape<circle?default?poly?rect|style|tabindex|title|target]';
725 break;
726 case 'base':
727 $valid_elements[] = 'base[href|target]';
728 break;
729 case 'basefont':
730 $valid_elements[] = 'basefont[color|face|id|size]';
731 break;
732 case 'bdo':
733 $valid_elements[] = 'bdo[class|dir<ltr?rtl|id|lang|style|title]';
734 break;
735 case 'big':
736 $valid_elements[] = 'big[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
737 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
738 . '|title]';
739 break;
740 case 'blockquote':
741 $valid_elements[] = 'blockquote[dir|style|cite|class|dir<ltr?rtl|id|lang|onclick|ondblclick'
742 . '|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout'
743 . '|onmouseover|onmouseup|style|title]';
744 break;
745 case 'body':
746 $valid_elements[] = 'body[alink|background|bgcolor|class|dir<ltr?rtl|id|lang|link|onclick'
747 . '|ondblclick|onkeydown|onkeypress|onkeyup|onload|onmousedown|onmousemove'
748 . '|onmouseout|onmouseover|onmouseup|onunload|style|title|text|vlink]';
749 break;
750 case 'br':
751 $valid_elements[] = 'br[class|clear<all?left?none?right|id|style|title]';
752 break;
753 case 'button':
754 $valid_elements[] = 'button[accesskey|class|dir<ltr?rtl|disabled<disabled|id|lang|name|onblur'
755 . '|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup|onmousedown'
756 . '|onmousemove|onmouseout|onmouseover|onmouseup|style|tabindex|title|type'
757 . '|value]';
758 break;
759 case 'caption':
760 $valid_elements[] = 'caption[align<bottom?left?right?top|class|dir<ltr?rtl|id|lang|onclick'
761 . '|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove'
762 . '|onmouseout|onmouseover|onmouseup|style|title]';
763 break;
764 case 'center':
765 $valid_elements[] = 'center[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
766 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
767 . '|title]';
768 break;
769 case 'cite':
770 $valid_elements[] = 'cite[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
771 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
772 . '|title]';
773 break;
774 case 'code':
775 $valid_elements[] = 'code[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
776 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
777 . '|title]';
778 break;
779 case 'col':
780 $valid_elements[] = 'col[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl|id'
781 . '|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown'
782 . '|onmousemove|onmouseout|onmouseover|onmouseup|span|style|title'
783 . '|valign<baseline?bottom?middle?top|width]';
784 break;
785 case 'colgroup':
786 $valid_elements[] = 'colgroup[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl'
787 . '|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown'
788 . '|onmousemove|onmouseout|onmouseover|onmouseup|span|style|title'
789 . '|valign<baseline?bottom?middle?top|width]';
790 break;
791 case 'dd':
792 $valid_elements[] = 'dd[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup'
793 . '|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title]';
794 break;
795 case 'del':
796 $valid_elements[] = 'del[cite|class|datetime|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown'
797 . '|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover'
798 . '|onmouseup|style|title]';
799 break;
800 case 'dfn':
801 $valid_elements[] = 'dfn[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
802 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
803 . '|title]';
804 break;
805 case 'dir':
806 $valid_elements[] = 'dir[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown'
807 . '|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover'
808 . '|onmouseup|style|title]';
809 break;
810 case 'div':
811 $valid_elements[] = 'div[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick'
812 . '|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove'
813 . '|onmouseout|onmouseover|onmouseup|style|title]';
814 break;
815 case 'dl':
816 $valid_elements[] = 'dl[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown'
817 . '|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover'
818 . '|onmouseup|style|title]';
819 break;
820 case 'dt':
821 $valid_elements[] = 'dt[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup'
822 . '|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title]';
823 break;
824 case 'em':
825 $valid_elements[] = 'em/i[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
826 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
827 . '|title]';
828 break;
829 case 'fieldset':
830 $valid_elements[] = 'fieldset[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
831 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
832 . '|title]';
833 break;
834 case 'font':
835 $valid_elements[] = 'font[class|color|dir<ltr?rtl|face|id|lang|size|style|title]';
836 break;
837 case 'form':
838 $valid_elements[] = 'form[accept|accept-charset|action|class|dir<ltr?rtl|enctype|id|lang'
839 . '|method<get?post|name|onclick|ondblclick|onkeydown|onkeypress|onkeyup'
840 . '|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onreset|onsubmit'
841 . '|style|title|target]';
842 break;
843 case 'frame':
844 $valid_elements[] = 'frame[class|frameborder|id|longdesc|marginheight|marginwidth|name'
845 . '|noresize<noresize|scrolling<auto?no?yes|src|style|title]';
846 break;
847 case 'frameset':
848 $valid_elements[] = 'frameset[class|cols|id|onload|onunload|rows|style|title]';
849 break;
850 case 'h1':
851 $valid_elements[] = 'h1[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick'
852 . '|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove'
853 . '|onmouseout|onmouseover|onmouseup|style|title]';
854 break;
855 case 'h2':
856 $valid_elements[] = 'h2[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick'
857 . '|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove'
858 . '|onmouseout|onmouseover|onmouseup|style|title]';
859 break;
860 case 'h3':
861 $valid_elements[] = 'h3[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick'
862 . '|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove'
863 . '|onmouseout|onmouseover|onmouseup|style|title]';
864 break;
865 case 'h4':
866 $valid_elements[] = 'h4[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick'
867 . '|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove'
868 . '|onmouseout|onmouseover|onmouseup|style|title]';
869 break;
870 case 'h5':
871 $valid_elements[] = 'h5[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick'
872 . '|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove'
873 . '|onmouseout|onmouseover|onmouseup|style|title]';
874 break;
875 case 'h6':
876 $valid_elements[] = 'h6[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick'
877 . '|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove'
878 . '|onmouseout|onmouseover|onmouseup|style|title]';
879 break;
880 case 'head':
881 $valid_elements[] = 'head[dir<ltr?rtl|lang|profile]';
882 break;
883 case 'hr':
884 $valid_elements[] = 'hr[align<center?left?right|class|dir<ltr?rtl|id|lang|noshade<noshade|onclick'
885 . '|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove'
886 . '|onmouseout|onmouseover|onmouseup|size|style|title|width]';
887 break;
888 case 'html':
889 $valid_elements[] = 'html[dir<ltr?rtl|lang|version]';
890 break;
891 case 'iframe':
892 $valid_elements[] = 'iframe[align<bottom?left?middle?right?top|class|frameborder|height|id'
893 . '|longdesc|marginheight|marginwidth|name|scrolling<auto?no?yes|src|style'
894 . '|title|width]';
895 break;
896 case 'img':
897 $valid_elements[] = 'img[align<bottom?left?middle?right?top|alt|border|class|dir<ltr?rtl|height'
898 . '|hspace|id|ismap<ismap|lang|longdesc|name|onclick|ondblclick|onkeydown'
899 . '|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover'
900 . '|onmouseup|src|style|title|usemap|vspace|width]';
901 break;
902 case 'input':
903 $valid_elements[] = 'input[accept|accesskey|align<bottom?left?middle?right?top|alt'
904 . '|checked<checked|class|dir<ltr?rtl|disabled<disabled|id|ismap<ismap|lang'
905 . '|maxlength|name|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress'
906 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onselect'
907 . '|readonly<readonly|size|src|style|tabindex|title'
908 . '|type<button?checkbox?file?hidden?image?password?radio?reset?submit?text'
909 . '|usemap|value]';
910 break;
911 case 'ins':
912 $valid_elements[] = 'ins[cite|class|datetime|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown'
913 . '|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover'
914 . '|onmouseup|style|title]';
915 break;
916 case 'isindex':
917 $valid_elements[] = 'isindex[class|dir<ltr?rtl|id|lang|prompt|style|title]';
918 break;
919 case 'kbd':
920 $valid_elements[] = 'kbd[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
921 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
922 . '|title]';
923 break;
924 case 'label':
925 $valid_elements[] = 'label[accesskey|class|dir<ltr?rtl|for|id|lang|onblur|onclick|ondblclick'
926 . '|onfocus|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout'
927 . '|onmouseover|onmouseup|style|title]';
928 break;
929 case 'legend':
930 $valid_elements[] = 'legend[align<bottom?left?right?top|accesskey|class|dir<ltr?rtl|id|lang'
931 . '|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove'
932 . '|onmouseout|onmouseover|onmouseup|style|title]';
933 break;
934 case 'li':
935 $valid_elements[] = 'li[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup'
936 . '|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title|type'
937 . '|value]';
938 break;
939 case 'link':
940 $valid_elements[] = 'link[charset|class|dir<ltr?rtl|href|hreflang|id|lang|media|onclick'
941 . '|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove'
942 . '|onmouseout|onmouseover|onmouseup|rel|rev|style|title|target|type]';
943 break;
944 case 'map':
945 $valid_elements[] = 'map[class|dir<ltr?rtl|id|lang|name|onclick|ondblclick|onkeydown|onkeypress'
946 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
947 . '|title]';
948 break;
949 case 'menu':
950 $valid_elements[] = 'menu[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown'
951 . '|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover'
952 . '|onmouseup|style|title]';
953 break;
954 case 'meta':
955 $valid_elements[] = 'meta[content|dir<ltr?rtl|http-equiv|lang|name|scheme]';
956 break;
957 case 'noframes':
958 $valid_elements[] = 'noframes[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
959 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
960 . '|title]';
961 break;
962 case 'noscript':
963 $valid_elements[] = 'noscript[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
964 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
965 . '|title]';
966 break;
967 case 'object':
968 $valid_elements[] = 'object[align<bottom?left?middle?right?top|archive|border|class|classid'
969 . '|codebase|codetype|data|declare|dir<ltr?rtl|height|hspace|id|lang|name'
970 . '|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove'
971 . '|onmouseout|onmouseover|onmouseup|standby|style|tabindex|title|type|usemap'
972 . '|vspace|width]';
973 break;
974 case 'ol':
975 $valid_elements[] = 'ol[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown'
976 . '|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover'
977 . '|onmouseup|start|style|title|type]';
978 break;
979 case 'optgroup':
980 $valid_elements[] = 'optgroup[class|dir<ltr?rtl|disabled<disabled|id|label|lang|onclick'
981 . '|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove'
982 . '|onmouseout|onmouseover|onmouseup|style|title]';
983 break;
984 case 'option':
985 $valid_elements[] = 'option[class|dir<ltr?rtl|disabled<disabled|id|label|lang|onclick|ondblclick'
986 . '|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout'
987 . '|onmouseover|onmouseup|selected<selected|style|title|value]';
988 break;
989 case 'p':
990 $valid_elements[] = 'p[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick'
991 . '|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove'
992 . '|onmouseout|onmouseover|onmouseup|style|title]';
993 break;
994 case 'param':
995 $valid_elements[] = 'param[id|name|type|value|valuetype<DATA?OBJECT?REF]';
996 break;
997 case 'pre':
998 case 'listing':
999 case 'plaintext':
1000 case 'xmp':
1001 $valid_elements[] = 'pre/listing/plaintext/xmp[align|class|dir<ltr?rtl|id|lang|onclick|ondblclick'
1002 . '|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout'
1003 . '|onmouseover|onmouseup|style|title|width]';
1004 break;
1005 case 'q':
1006 $valid_elements[] = 'q[cite|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
1007 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
1008 . '|title]';
1009 break;
1010 case 's':
1011 $valid_elements[] = 's[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup'
1012 . '|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title]';
1013 break;
1014 case 'samp':
1015 $valid_elements[] = 'samp[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
1016 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
1017 . '|title]';
1018 break;
1019 case 'script':
1020 $valid_elements[] = 'script[charset|defer|language|src|type]';
1021 break;
1022 case 'select':
1023 $valid_elements[] = 'select[class|dir<ltr?rtl|disabled<disabled|id|lang|multiple<multiple|name'
1024 . '|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup'
1025 . '|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|size|style'
1026 . '|tabindex|title]';
1027 break;
1028 case 'small':
1029 $valid_elements[] = 'small[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
1030 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
1031 . '|title]';
1032 break;
1033 case 'span':
1034 $valid_elements[] = 'span[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown'
1035 . '|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover'
1036 . '|onmouseup|style|title]';
1037 break;
1038 case 'strike':
1039 $valid_elements[] = 'strike[class|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown'
1040 . '|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover'
1041 . '|onmouseup|style|title]';
1042 break;
1043 case 'strong':
1044 $valid_elements[] = 'strong/b[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
1045 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
1046 . '|title]';
1047 break;
1048 case 'style':
1049 $valid_elements[] = 'style[dir<ltr?rtl|lang|media|title|type]';
1050 break;
1051 case 'sub':
1052 $valid_elements[] = 'sub[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
1053 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
1054 . '|title]';
1055 break;
1056 case 'sup':
1057 $valid_elements[] = 'sup[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
1058 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
1059 . '|title]';
1060 break;
1061 case 'table':
1062 $valid_elements[] = 'table[align<center?left?right|bgcolor|border|cellpadding|cellspacing|class'
1063 . '|dir<ltr?rtl|frame|height|id|lang|onclick|ondblclick|onkeydown|onkeypress'
1064 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|rules'
1065 . '|style|summary|title|width]';
1066 break;
1067 case 'tbody':
1068 $valid_elements[] = 'tbody[align<center?char?justify?left?right|char|class|charoff|dir<ltr?rtl|id'
1069 . '|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown'
1070 . '|onmousemove|onmouseout|onmouseover|onmouseup|style|title'
1071 . '|valign<baseline?bottom?middle?top]';
1072 break;
1073 case 'td':
1074 $valid_elements[] = 'td[abbr|align<center?char?justify?left?right|axis|bgcolor|char|charoff|class'
1075 . '|colspan|dir<ltr?rtl|headers|height|id|lang|nowrap<nowrap|onclick'
1076 . '|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove'
1077 . '|onmouseout|onmouseover|onmouseup|rowspan|scope<col?colgroup?row?rowgroup'
1078 . '|style|title|valign<baseline?bottom?middle?top|width]';
1079 break;
1080 case 'textarea':
1081 $valid_elements[] = 'textarea[accesskey|class|cols|dir<ltr?rtl|disabled<disabled|id|lang|name'
1082 . '|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup'
1083 . '|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onselect'
1084 . '|readonly<readonly|rows|style|tabindex|title]';
1085 break;
1086 case 'tfoot':
1087 $valid_elements[] = 'tfoot[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl|id'
1088 . '|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown'
1089 . '|onmousemove|onmouseout|onmouseover|onmouseup|style|title'
1090 . '|valign<baseline?bottom?middle?top]';
1091 break;
1092 case 'th':
1093 $valid_elements[] = 'th[abbr|align<center?char?justify?left?right|axis|bgcolor|char|charoff|class'
1094 . '|colspan|dir<ltr?rtl|headers|height|id|lang|nowrap<nowrap|onclick'
1095 . '|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove'
1096 . '|onmouseout|onmouseover|onmouseup|rowspan|scope<col?colgroup?row?rowgroup'
1097 . '|style|title|valign<baseline?bottom?middle?top|width]';
1098 break;
1099 case 'thead':
1100 $valid_elements[] = 'thead[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl|id'
1101 . '|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown'
1102 . '|onmousemove|onmouseout|onmouseover|onmouseup|style|title'
1103 . '|valign<baseline?bottom?middle?top]';
1104 break;
1105 case 'title':
1106 $valid_elements[] = 'title[dir<ltr?rtl|lang]';
1107 break;
1108 case 'tr':
1109 $valid_elements[] = 'tr[abbr|align<center?char?justify?left?right|bgcolor|char|charoff|class'
1110 . '|rowspan|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
1111 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
1112 . '|title|valign<baseline?bottom?middle?top]';
1113 break;
1114 case 'tt':
1115 $valid_elements[] = 'tt[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup'
1116 . '|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title]';
1117 break;
1118 case 'u':
1119 $valid_elements[] = 'u[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup'
1120 . '|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title]';
1121
1122
1123
1124 $valid_elements[] = 'span[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown'
1125 . '|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover'
1126 . '|onmouseup|style|title]';
1127 break;
1128 case 'ul':
1129 $valid_elements[] = 'ul[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown'
1130 . '|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover'
1131 . '|onmouseup|style|title|type]';
1132 break;
1133 case 'var':
1134 $valid_elements[] = 'var[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress'
1135 . '|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style'
1136 . '|title]';
1137 break;
1138 }
1139 }
1140
1141 return implode(',', $valid_elements);
1142 }