b2evolution

Multilingual multiuser multiblog engine

b2evolution Technical Documentation (0.9.x) [ class tree: conf ] [ index: conf ] [ all elements ]

Source for file _formatting.php

Documentation is available at _formatting.php

  1. <?php
  2. /**
  3.  * This is b2evolution's formatting config file
  4.  *
  5.  * This file sets how b2evolution will parse and format texts (posts, comments, etc.)
  6.  * Last significant changes to this file: version 0.9.0.6
  7.  *
  8.  * b2evolution - {@link http://b2evolution.net/}
  9.  * Released under GNU GPL License - {@link http://b2evolution.net/about/license.html}
  10.  * @copyright (c)2003-2005 by Francois PLANQUE - {@link http://fplanque.net/}
  11.  *
  12.  * @package conf
  13.  */
  14. if!defined('DB_USER') ) die'Please, do not access this page directly.' );
  15.  
  16. // ** Formatting **
  17.  
  18. # Choose the formatting options for your posts:
  19. # 0 to disable
  20. # 1 to ensable
  21. $use_balanceTags 1;        // 0,1 automatically balance unmatched tags in posts and comments. 
  22.  
  23.  
  24. # Choose formatting options for comments
  25. # 'never'   : option will never be used
  26. # 'opt-in'  : option will be used only if user explicitely asks for it
  27. # 'opt-out' : option will be used by default, but user can refuse
  28. # 'always'  : option will always be used
  29. $comments_use_autobr 'opt-out';    // automatically change line breaks to <br />
  30.  
  31.  
  32. /*
  33.  * Validity & Security Checking 
  34.  *
  35.  * Posts and comments should be checked to see if they contain valid XHTML code
  36.  * and no invalid code (javascript, styles, CSS, etc...)
  37.  */
  38. # Html checking will validate posts and comments to a subset of valid XHTML. 
  39. # This will also do much cleaner security checking than the next option.
  40. # Note: This option requires the PHP XML module. If your PHP installation doesn't have it
  41. # disable html_checker and use security_checker.
  42. $use_html_checker 1;
  43. # Security checking will check for illegal javascript hacks in posts/comments
  44. # and for CSS in comments. However, this may be a bit harsh on your posts :]
  45. $use_security_checker 0;        
  46. # WARNING: disabling both $use_html_checker and $use_security_checker is suicidal !
  47.  
  48.  
  49. /*
  50.  * HTML Checker params:
  51.  *
  52.  * The params are defined twice: once for the posts and once for the comments.
  53.  * Typically you'll be more restrictive on comments.
  54.  *
  55.  * Adapted from XHTML-1.0-Transitional/Strict by fplanque
  56.  * http://www.w3.org/TR/2002/REC-xhtml1-20020801/dtds.html#a_dtd_XHTML-1.0-Strict
  57.  */
  58.  
  59. // DEFINITION of allowed XHTML code for POSTS (posted in the backoffice)
  60.  
  61. /**
  62.  * Allowed Entity classes
  63.  */
  64. // define('E_special_pre', 'br span bdo');            // Strict
  65. // define('E_special', E_special_pre.' img');        // Strict
  66. define('E_special_extra''img' );                            // Transitional
  67. define('E_special_basic''br span bdo' );            // Transitional
  68. define('E_special'E_special_basic.' '.E_special_extra );    // Transitional
  69.  
  70. // define('E_fontstyle', 'tt i b big small');                // Strict
  71. define('E_fontstyle_extra''big small font' );            // Transitional
  72. define('E_fontstyle_basic''tt i b u s strike' );    // Transitional
  73. define('E_fontstyle'E_fontstyle_basic.' '.E_fontstyle_extra );    // Transitional
  74.  
  75. // define('E_phrase', 'em strong dfn code q samp kbd var cite abbr acronym sub sup'); // Strict
  76. define('E_phrase_extra''sub sup');                                                                                             // Transitional
  77. define('E_phrase_basic''em strong dfn code q samp kbd var cite abbr acronym');    // Transitional
  78. define('E_phrase'E_phrase_basic.' '.E_phrase_extra );                                                     // Transitional
  79.  
  80. define('E_misc_inline''ins del');
  81. define('E_misc'E_misc_inline);
  82. define('E_inline''a '.E_special.' '.E_fontstyle.' '.E_phrase );
  83. define('E_Iinline''#PCDATA '.E_inline.' '.E_misc_inline );
  84. define('E_heading''h1 h2 h3 h4 h5 h6');
  85.  
  86. // define('E_list', 'ul ol dl');                // Strict
  87. define('E_list''ul ol dl menu dir');    // Transitional
  88.  
  89. // define('E_blocktext', 'pre hr blockquote address');            // Strict
  90. define('E_blocktext''pre hr blockquote address center');    // Transitional
  91.  
  92. define('E_block''p '.E_heading.' div '.E_list.' '.E_blocktext.' fieldset table');
  93.  
  94. // define('E_Bblock', E_block.' '.E_misc );            // Strict only
  95.  
  96. define('E_Flow''#PCDATA '.E_block.' '.E_inline.' '.E_misc );
  97. define('E_a_content''#PCDATA '.E_special.' '.E_fontstyle.' '.E_phrase.' '.E_misc_inline );
  98.  
  99. // define('E_pre_content', '#PCDATA a '.E_fontstyle.' '.E_phrase.' '.E_special_pre.' '.E_misc_inline ); // Strict
  100. define('E_pre_content''#PCDATA a '.E_special_basic.' '.E_fontstyle_basic.' '.E_phrase_basic.' '.E_misc_inline )// Transitional
  101.              
  102. // Allowed Attribute classes
  103. define('A_coreattrs''class title');
  104. define('A_i18n''lang xml:lang dir');
  105. define('A_attrs'A_coreattrs.' '.A_i18n);
  106. define('A_TextAlign''align');                                    // Transitional only
  107. define('A_cellhalign''align char charoff');
  108. define('A_cellvalign''valign');
  109.  
  110. // Array showing what tags are allowed and what their allowed subtags are.
  111. $allowed_tags array
  112. (
  113.     'body' => E_Flow// Remember this is not a true body, just a post body
  114.     'div' => E_Flow,
  115.     'p' => E_Iinline,
  116.     'h1' => E_Iinline,
  117.     'h2' => E_Iinline,
  118.     'h3' => E_Iinline,
  119.     'h4' => E_Iinline,
  120.     'h5' => E_Iinline,
  121.     'h6' => E_Iinline,
  122.     'ul' => 'li',
  123.     'ol' => 'li',
  124.     'menu' => 'li',        // Transitional only
  125.     'dir' => 'li',        // Transitional only
  126.     'li' => E_Flow,
  127.     'dl' => 'dt dd',
  128.     'dt' => E_Iinline,
  129.     'dd' => E_Flow,
  130.     
  131.     // 'address' => E_Iinline,                                                        // Strict
  132.     'address' => '#PCDATA '.E_inline.' '.E_misc_inline,        // Transitional
  133.     
  134.     'hr' => '',
  135.     'pre' => E_pre_content,
  136.  
  137.     // 'blockquote' => E_Bblock,        // Strict
  138.     'blockquote' => E_Flow,                    // Transitional
  139.  
  140.     'center' => E_Flow,                    // Transitional only
  141.     
  142.     'ins' => E_Flow,
  143.     'del' => E_Flow,
  144.     'a' => E_a_content,
  145.     'span' => E_Iinline,
  146.     'bdo' => E_Iinline,
  147.     'br' => '',
  148.     'em' => E_Iinline,
  149.     'strong' => E_Iinline,
  150.     'dfn' => E_Iinline,
  151.     'code' => E_Iinline,
  152.     'samp' => E_Iinline,
  153.     'kbd' => E_Iinline,
  154.     'var' => E_Iinline,
  155.     'cite' => E_Iinline,
  156.     'abbr' => E_Iinline,
  157.     'acronym' => E_Iinline,
  158.     'q' => E_Iinline,
  159.     'sub' => E_Iinline,
  160.     'sup' => E_Iinline,
  161.     'tt' => E_Iinline,
  162.     'i' => E_Iinline,
  163.     'b' => E_Iinline,
  164.     'big' => E_Iinline,
  165.     'small' => E_Iinline,
  166.  
  167.     'u' => E_Iinline,                        // Transitional only
  168.     's' => E_Iinline,                        // Transitional only
  169.     'strike' => E_Iinline,            // Transitional only
  170.     'font' => E_Iinline,                // Transitional only
  171.  
  172.     'img' => '',
  173.     'fieldset' => '#PCDATA legend '.E_block.' '.E_inline.' '.E_misc,
  174.     'legend' => E_Iinline,
  175.     'table' => 'caption col colgroup thead tfoot tbody tr',
  176.     'caption' => E_Iinline,
  177.     'thead' => 'tr',
  178.     'tfoot' => 'tr',
  179.     'tbody' => 'tr',
  180.     'colgroup' => 'col',
  181.     'tr' => 'th td',
  182.     'th' => E_Flow,
  183.     'td' => E_Flow,
  184. );
  185.  
  186. // Array showing allowed attributes for tags
  187. $allowed_attribues array
  188. (
  189.     // 'div' => A_attrs,                                // Strict
  190.     'div' => A_attrs.' '.A_TextAlign,        // Transitional
  191.  
  192.     // 'p' => A_attrs,                                // Strict
  193.     'p' => A_attrs.' '.A_TextAlign,        // Transitional
  194.  
  195.     // 'h1' => A_attrs,                                // Strict
  196.     'h1' => A_attrs.' '.A_TextAlign,        // Transitional
  197.     // 'h2' => A_attrs,                                // Strict
  198.     'h2' => A_attrs.' '.A_TextAlign,        // Transitional
  199.     // 'h3' => A_attrs,                                // Strict
  200.     'h3' => A_attrs.' '.A_TextAlign,        // Transitional
  201.     // 'h4' => A_attrs,                                // Strict
  202.     'h4' => A_attrs.' '.A_TextAlign,        // Transitional
  203.     // 'h5' => A_attrs,                                // Strict
  204.     'h5' => A_attrs.' '.A_TextAlign,        // Transitional
  205.     // 'h6' => A_attrs,                                // Strict
  206.     'h6' => A_attrs.' '.A_TextAlign,        // Transitional
  207.  
  208.     // 'ul' => A_attrs,    // Strict
  209.     'ul' => A_attrs.' type compact',    // Transitional
  210.  
  211.     // 'ol' => A_attrs,    // Strict
  212.     'ol' => A_attrs.' type compact start',    // Transitional
  213.  
  214.     'menu' => A_attrs.' compact',    // Transitional only
  215.     'dir' => A_attrs.' compact',    // Transitional only
  216.  
  217.     // 'li' => A_attrs,                            // Strict
  218.     'li' => A_attrs.' type value',    // Transitional
  219.  
  220.     // 'dl' => A_attrs,                    // Strict
  221.     'dl' => A_attrs.' compact',    // Transitional 
  222.  
  223.     'dt' => A_attrs,
  224.     'dd' => A_attrs,
  225.  
  226.     'address' => A_attrs,
  227.  
  228.     // 'hr' => A_attrs,                                                            // Strict
  229.     'hr' => A_attrs.' align noshade size width',        // Transitional
  230.  
  231.     // 'pre' => A_attrs.' xml:space',                                // Strict
  232.     'pre' => A_attrs.' width xml:space',                        // Transitional
  233.  
  234.     'blockquote' => A_attrs.' cite',
  235.  
  236.     'center' => A_attrs,                    // Transitional only
  237.  
  238.     'ins' => A_attrs.' cite datetime',
  239.     'del' => A_attrs.' cite datetime',
  240.  
  241.     // 'a' => A_attrs.' charset type href hreflang rel rev shape coords',            // Strict
  242.     'a' => A_attrs.' charset type href hreflang rel rev shape coords target',    // Transitional
  243.  
  244.     'span' => A_attrs,
  245.     'bdo' => A_coreattrs.' lang xml:lang dir',
  246.  
  247.     // 'br' => A_coreattrs,                // Strict
  248.     'br' => A_coreattrs.' clear',    // Transitional
  249.  
  250.     'em' => A_attrs,
  251.     'strong' => A_attrs,
  252.     'dfn' => A_attrs,
  253.     'code' => A_attrs,
  254.     'samp' => A_attrs,
  255.     'kbd' => A_attrs,
  256.     'var' => A_attrs,
  257.     'cite' => A_attrs,
  258.     'abbr' => A_attrs,
  259.     'acronym' => A_attrs,
  260.     'q' => A_attrs.' cite',
  261.     'sub' => A_attrs,
  262.     'sup' => A_attrs,
  263.     'tt' => A_attrs,
  264.     'i' => A_attrs,
  265.     'b' => A_attrs,
  266.     'big' => A_attrs,
  267.     'small' => A_attrs,
  268.  
  269.     'u' => A_attrs,                        // Transitional only
  270.     's' => A_attrs,                        // Transitional only
  271.     'strike' => A_attrs,            // Transitional only
  272.     'font' => A_coreattrs.' '.A_i18n.' size color face',    // Transitional only
  273.  
  274.     // 'img' => A_attrs.' src alt longdesc height width usemap ismap',    // Strict
  275.     'img' => A_attrs.' src alt name longdesc height width usemap ismap align border hspace vspace',    // Transitional
  276.  
  277.     'fieldset' => A_attrs,
  278.  
  279.     //'legend' => A_attrs,                            // Strict
  280.     'legend' => A_attrs.' align',                // Transitional
  281.  
  282.     // 'table' => A_attrs.' summary width border frame rules cellspacing cellpadding',  // Strict
  283.     'table' => A_attrs.' summary width border frame rules cellspacing cellpadding align bgcolor'// Transitional
  284.  
  285.     // 'caption' => A_attrs,                        // Strict
  286.     'caption' => A_attrs.' align',            // Transitional
  287.  
  288.     'colgroup' => A_attrs.' span width cellhalign cellvalign',
  289.     'col' => A_attrs.' span width cellhalign cellvalign',
  290.     'thead' => A_attrs.' '.A_cellhalign.' '.A_cellvalign,
  291.     'tfoot' => A_attrs.' '.A_cellhalign.' '.A_cellvalign,
  292.     'tbody' => A_attrs.' '.A_cellhalign.' '.A_cellvalign,
  293.  
  294.     // 'tr' => A_attrs.' '.A_cellhalign.' '.A_cellvalign,    // Strict
  295.     'tr' => A_attrs.' '.A_cellhalign.' '.A_cellvalign.' bgcolor',    // Transitional 
  296.  
  297.     // 'th' => A_attrs.' abbr axis headers scope rowspan colspan'.A_cellhalign.' '.A_cellvalign,    // Strict
  298.     'th' => A_attrs.' abbr axis headers scope rowspan colspan'.A_cellhalign.' '.A_cellvalign.' nowrap bgcolor width height',    // Transitional
  299.  
  300.     // 'td' => A_attrs.' abbr axis headers scope rowspan colspan'.A_cellhalign.' '.A_cellvalign,    // Strict
  301.     'td' => A_attrs.' abbr axis headers scope rowspan colspan'.A_cellhalign.' '.A_cellvalign.' nowrap bgcolor width height',    // Transitional
  302. );
  303.  
  304. $allowed_uri_scheme array
  305. (
  306.     'http',
  307.     'https',
  308.     'ftp',
  309.     'gopher',
  310.     'nntp',
  311.     'news',
  312.     'mailto',
  313.     'irc',
  314.     'aim',
  315.     'icq'
  316. );
  317.  
  318.  
  319. // DEFINITION of allowed XHTML code for COMMENTS (posted from the public blog pages)
  320.  
  321. # here is a list of the tags that are allowed in the comments.
  322. # all tags not in this list will be filtered out anyway before we do any checking
  323. $comment_allowed_tags '<p><ul><ol><li><dl><dt><dd><address><blockquote><ins><del><span><bdo><br><em><strong><dfn><code><samp><kdb><var><cite><abbr><acronym><q><sub><sup><tt><i><b><big><small>';
  324.  
  325. // Allowed Entity classes
  326. define('C_E_special_pre''br span bdo');
  327. define('C_E_special'C_E_special_pre);
  328. define('C_E_fontstyle''tt i b big small');
  329. define('C_E_phrase''em strong dfn code q samp kbd var cite abbr acronym sub sup');
  330. define('C_E_misc_inline''ins del');
  331. define('C_E_misc'C_E_misc_inline);
  332. define('C_E_inline''a '.C_E_special.' '.C_E_fontstyle.' '.C_E_phrase );
  333. define('C_E_Iinline''#PCDATA '.C_E_inline.' '.C_E_misc_inline );
  334. define('C_E_heading''');
  335. define('C_E_list''ul ol dl');
  336. define('C_E_blocktext''hr blockquote address');
  337. define('C_E_block''p '.C_E_heading.' div '.C_E_list.' '.C_E_blocktext.' table');
  338. define('C_E_Bblock'C_E_block.' '.C_E_misc );
  339. define('C_E_Flow''#PCDATA '.C_E_block.' '.C_E_inline.' '.C_E_misc );
  340. define('C_E_a_content''#PCDATA '.C_E_special.' '.C_E_fontstyle.' '.C_E_phrase.' '.C_E_misc_inline );
  341. define('C_E_pre_content''#PCDATA a '.C_E_fontstyle.' '.C_E_phrase.' '.C_E_special_pre.' '.C_E_misc_inline );
  342.  
  343. // Allowed Attribute classes
  344. define('C_A_coreattrs''class title');
  345. define('C_A_i18n''lang xml:lang dir');
  346. define('C_A_attrs'C_A_coreattrs.' '.C_A_i18n);
  347. define('C_A_cellhalign''align char charoff');
  348. define('C_A_cellvalign''valign');
  349.  
  350. // Array showing what tags are allowed and what their allowed subtags are.
  351. $comments_allowed_tags array
  352. (
  353.     'body' => E_Flow// Remember this is not a true body, just a comment body
  354.     'p' => C_E_Iinline,
  355.     'ul' => 'li',
  356.     'ol' => 'li',
  357.     'li' => C_E_Flow,
  358.     'dl' => 'dt dd',
  359.     'dt' => C_E_Iinline,
  360.     'dd' => C_E_Flow,
  361.     'address' => C_E_Iinline,
  362.     'hr' => '',
  363. //    'blockquote' => C_E_Bblock,        // XHTML-1.0-Strict
  364.     'blockquote' => C_E_Flow,                // XHTML-1.0-Transitional
  365.     'ins' => C_E_Flow,
  366.     'del' => C_E_Flow,
  367. //    'a' => C_E_a_content,  // Allowing this will call for a whole lot of comment spam!!!
  368.     'span' => C_E_Iinline,
  369.     'bdo' => C_E_Iinline,
  370.     'br' => '',
  371.     'em' => C_E_Iinline,
  372.     'strong' => C_E_Iinline,
  373.     'dfn' => C_E_Iinline,
  374.     'code' => C_E_Iinline,
  375.     'samp' => C_E_Iinline,
  376.     'kbd' => C_E_Iinline,
  377.     'var' => C_E_Iinline,
  378.     'cite' => C_E_Iinline,
  379.     'abbr' => C_E_Iinline,
  380.     'acronym' => C_E_Iinline,
  381.     'q' => C_E_Iinline,
  382.     'sub' => C_E_Iinline,
  383.     'sup' => C_E_Iinline,
  384.     'tt' => C_E_Iinline,
  385.     'i' => C_E_Iinline,
  386.     'b' => C_E_Iinline,
  387.     'big' => C_E_Iinline,
  388.     'small' => C_E_Iinline
  389. );
  390.  
  391. // Array showing allowed attributes for tags
  392. $comments_allowed_attribues array
  393. (
  394.     'p' => C_A_attrs,
  395.     'ul' => C_A_attrs,
  396.     'ol' => C_A_attrs,
  397.     'li' => C_A_attrs,
  398.     'dl' => C_A_attrs,
  399.     'dt' => C_A_attrs,
  400.     'dd' => C_A_attrs,
  401.     'address' => C_A_attrs,
  402.     'blockquote' => C_A_attrs.' cite',
  403.     'ins' => C_A_attrs.' cite datetime',
  404.     'del' => C_A_attrs.' cite datetime',
  405.     'a' => C_A_attrs.' charset type href hreflang rel rev shape coords',
  406.     'span' => C_A_attrs,
  407.     'bdo' => C_A_coreattrs.' lang xml:lang dir',
  408.     'br' => C_A_coreattrs,
  409.     'em' => C_A_attrs,
  410.     'strong' => C_A_attrs,
  411.     'dfn' => C_A_attrs,
  412.     'code' => C_A_attrs,
  413.     'samp' => C_A_attrs,
  414.     'kbd' => C_A_attrs,
  415.     'var' => C_A_attrs,
  416.     'cite' => C_A_attrs,
  417.     'abbr' => C_A_attrs,
  418.     'acronym' => C_A_attrs,
  419.     'q' => C_A_attrs.' cite',
  420.     'sub' => C_A_attrs,
  421.     'sup' => C_A_attrs,
  422.     'tt' => C_A_attrs,
  423.     'i' => C_A_attrs,
  424.     'b' => C_A_attrs,
  425.     'big' => C_A_attrs,
  426.     'small' => C_A_attrs,
  427. );
  428.  
  429. /**
  430.  * URI schemes allowed for URLs in comments and user profiles:
  431.  */
  432. $comments_allowed_uri_scheme array
  433. (
  434.     'http',
  435.     'https',
  436.     'ftp',
  437.     'gopher',
  438.     'nntp',
  439.     'news',
  440.     'mailto',
  441.     'irc',
  442.     'aim',
  443.     'icq'
  444. );
  445.  
  446.  
  447. // Array showing URI attributes
  448. $uri_attrs array
  449. (
  450.     'xmlns',
  451.     'profile',
  452.     'href',
  453.     'src',
  454.     'cite',
  455.     'classid',
  456.     'codebase',
  457.     'data',
  458.     'archive',
  459.     'usemap',
  460.     'longdesc',
  461.     'action'
  462. );
  463.  
  464.  
  465. # Translation of HTML entities and special characters
  466. $b2_htmltrans array(
  467.     // '&#8211;' => ' ', '&#8212;' => ' ', '&#8216;' => ' ', '&#8217;' => ' ',
  468.     // '&#8220;' => ' ', '&#8221;' => ' ', '&#8226;' => ' ', '&#8364;' => ' ',
  469.     '&lt;' => '&#60;',    '&gt;' => '&#62;',
  470.     '&sp;' => '&#32;''&excl;' => '&#33;''&quot;' => '&#34;''&num;' => '&#35;'
  471.     '&dollar;' =>  '&#36;''&percnt;' => '&#37;''&amp;' => '&#38;''&apos;' => '&#39;'
  472.     '&lpar;' => '&#40;''&rpar;' => '&#41;',
  473.     '&ast;' => '&#42;''&plus;' => '&#43;''&comma;' => '&#44;''&hyphen;' => '&#45;'
  474.     '&minus;' => '&#45;''&period;' => '&#46;''&sol;' => '&#47;''&colon;' => '&#58;'
  475.     '&semi;' => '&#59;''&lt;' => '&#60;',
  476.     '&equals;' => '&#61;''&gt;' => '&#62;''&quest;' => '&#63;''&commat;' => '&#64;'
  477.     '&lsqb;' => '&#91;''&bsol;' => '&#92;''&rsqb;' => '&#93;''&circ;' => '&#94;'
  478.     '&lowbar;' => '&#95;''&horbar;' => '&#95;',
  479.     '&grave;' => '&#96;''&lcub;' => '&#123;''&verbar;' => '&#124;''&rcub;' => '&#125;'
  480.     '&tilde;' => '&#126;''&lsquor;' => '&#130;''&ldquor;' => '&#132;',
  481.     '&ldots;' => '&#133;''&Scaron;' => '&#138;''&lsaquo;' => '&#139;''&OElig;' => '&#140;',
  482.     '&lsquo;' => '&#145;''&rsquor;' => '&#145;''&rsquo;' => '&#146;',
  483.     '&ldquo;' => '&#147;''&rdquor;' => '&#147;''&rdquo;' => '&#148;''&bull;' => '&#149;',
  484.     '&ndash;' => '&#150;''&endash;' => '&#150;''&mdash;' => '&#151;''&emdash;' => '&#151;',
  485.     '&tilde;' => '&#152;''&trade;' => '&#153;',
  486.     '&scaron;' => '&#154;''&rsaquo;' => '&#155;''&oelig;' => '&#156;''&Yuml;' => '&#159;',
  487.     '&nbsp;' => '&#160;''&iexcl;' => '&#161;''&cent;' => '&#162;''&pound;' => '&#163;'
  488.     '&curren;' => '&#164;''&yen;' => '&#165;',
  489.     '&brvbar;' => '&#166;''&brkbar;' => '&#166;''&sect;' => '&#167;''&uml;' => '&#168;'
  490.     '&die;' => '&#168;''&copy;' => '&#169;''&ordf;' => '&#170;''&laquo;' => '&#171;'
  491.     '&not;' => '&#172;''&shy;' => '&#173;',
  492.     '&reg;' => '&#174;''&macr;' => '&#175;''&hibar;' => '&#175;''&deg;' => '&#176;'
  493.     '&plusmn;' => '&#177;''&sup2;' => '&#178;''&sup3;' => '&#179;''&acute;' => '&#180;'
  494.     '&micro;' => '&#181;''&para;' => '&#182;',
  495.     '&middot;' => '&#183;''&cedil;' => '&#184;''&sup1;' => '&#185;''&ordm;' => '&#186;'
  496.     '&raquo;' => '&#187;''&frac14;' => '&#188;''&frac12;' => '&#189;''&half;' => '&#189;',
  497.     '&frac34;' => '&#190;''&iquest;' => '&#191;',
  498.     '&Agrave;' => '&#192;''&Aacute;' => '&#193;''&Acirc;' => '&#194;''&Atilde;' => '&#195;'
  499.     '&Auml;' => '&#196;''&Aring;' => '&#197;''&AElig;' => '&#198;''&Ccedil;' => '&#199;'
  500.     '&Egrave;' => '&#200;''&Eacute;' => '&#201;',
  501.     '&Ecirc;' => '&#202;''&Euml;' => '&#203;''&Igrave;' => '&#204;''&Iacute;' => '&#205;'
  502.     '&Icirc;' => '&#206;''&Iuml;' => '&#207;''&ETH;' => '&#208;''&Ntilde;' => '&#209;'
  503.     '&Ograve;' => '&#210;''&Oacute;' => '&#211;',
  504.     '&Ocirc;' => '&#212;''&Otilde;' => '&#213;''&Ouml;' => '&#214;''&times;' => '&#215;',
  505.     '&Oslash;' => '&#216;''&Ugrave;' => '&#217;''&Uacute;' => '&#218;''&Ucirc;' => '&#219;'
  506.     '&Uuml;' => '&#220;''&Yacute;' => '&#221;',
  507.     '&THORN;' => '&#222;''&szlig;' => '&#223;''&agrave;' => '&#224;''&aacute;' => '&#225;',
  508.     '&acirc;' => '&#226;''&atilde;' => '&#227;''&auml;' => '&#228;''&aring;' => '&#229;'
  509.     '&aelig;' => '&#230;''&ccedil;' => '&#231;',
  510.     '&egrave;' => '&#232;''&eacute;' => '&#233;''&ecirc;' => '&#234;''&euml;' => '&#235;',
  511.     '&igrave;' => '&#236;''&iacute;' => '&#237;''&icirc;' => '&#238;''&iuml;' => '&#239;'
  512.     '&eth;' => '&#240;''&ntilde;' => '&#241;',
  513.     '&ograve;' => '&#242;''&oacute;' => '&#243;''&ocirc;' => '&#244;''&otilde;' => '&#245;',
  514.     '&ouml;' => '&#246;''&divide;' => '&#247;''&oslash;' => '&#248;''&ugrave;' => '&#249;'
  515.     '&uacute;' => '&#250;''&ucirc;' => '&#251;',
  516.     '&uuml;' => '&#252;''&yacute;' => '&#253;''&thorn;' => '&#254;''&yuml;' => '&#255;'
  517.     '&OElig;' => '&#338;''&oelig;' => '&#339;''&Scaron;' => '&#352;''&scaron;' => '&#353;',
  518.     '&Yuml;' => '&#376;''&fnof;' => '&#402;',
  519.     '&circ;' => '&#710;''&tilde;' => '&#732;''&Alpha;' => '&#913;''&Beta;' => '&#914;'
  520.     '&Gamma;' => '&#915;''&Delta;' => '&#916;''&Epsilon;' => '&#917;''&Zeta;' => '&#918;'
  521.     '&Eta;' => '&#919;''&Theta;' => '&#920;',
  522.     '&Iota;' => '&#921;''&Kappa;' => '&#922;''&Lambda;' => '&#923;'
  523.     '&Mu;' => '&#924;''&Nu;' => '&#925;''&Xi;' => '&#926;'
  524.     '&Omicron;' => '&#927;''&Pi;' => '&#928;''&Rho;' => '&#929;''&Sigma;' => '&#931;',
  525.     '&Tau;' => '&#932;''&Upsilon;' => '&#933;''&Phi;' => '&#934;'
  526.     '&Chi;' => '&#935;''&Psi;' => '&#936;''&Omega;' => '&#937;'
  527.     '&alpha;' => '&#945;''&beta;' => '&#946;''&gamma;' => '&#947;''&delta;' => '&#948;',
  528.     '&epsilon;' => '&#949;''&zeta;' => '&#950;''&eta;' => '&#951;'
  529.     '&theta;' => '&#952;''&iota;' => '&#953;''&kappa;' => '&#954;''&lambda;' => '&#955;'
  530.     '&mu;' => '&#956;''&nu;' => '&#957;''&xi;' => '&#958;',
  531.     '&omicron;' => '&#959;''&pi;' => '&#960;''&rho;' => '&#961;''&sigmaf;' => '&#962;'
  532.     '&sigma;' => '&#963;''&tau;' => '&#964;''&upsilon;' => '&#965;''&phi;' => '&#966;'
  533.     '&chi;' => '&#967;''&psi;' => '&#968;',
  534.     '&omega;' => '&#969;''&thetasym;' => '&#977;''&upsih;' => '&#978;''&piv;' => '&#982;',
  535.     '&ensp;' => '&#8194;''&emsp;' => '&#8195;''&thinsp;' => '&#8201;''&zwnj;' => '&#8204;'
  536.     '&zwj;' => '&#8205;''&lrm;' => '&#8206;',
  537.     '&rlm;' => '&#8207;''&ndash;' => '&#8211;''&mdash;' => '&#8212;''&lsquo;' => '&#8216;'
  538.     '&rsquo;' => '&#8217;''&sbquo;' => '&#8218;''&ldquo;' => '&#8220;''&rdquo;' => '&#8221;'
  539.     '&bdquo;' => '&#8222;''&dagger;' => '&#8224;',
  540.     '&Dagger;' => '&#8225;''&bull;' => '&#8226;''&hellip;' => '&#8230;''&permil;' => '&#8240;'
  541.     '&prime;' => '&#8242;''&Prime;' => '&#8243;''&lsaquo;' => '&#8249;''&rsaquo;' => '&#8250;'
  542.     '&oline;' => '&#8254;''&frasl;' => '&#8260;',
  543.     '&euro;' => '&#8364;''&image;' => '&#8465;''&weierp;' => '&#8472;''&real;' => '&#8476;'
  544.     '&trade;' => '&#8482;''&alefsym;' => '&#8501;''&larr;' => '&#8592;''&uarr;' => '&#8593;'
  545.     '&rarr;' => '&#8594;''&darr;' => '&#8595;',
  546.     '&harr;' => '&#8596;''&crarr;' => '&#8629;''&lArr;' => '&#8656;''&uArr;' => '&#8657;'
  547.     '&rArr;' => '&#8658;''&dArr;' => '&#8659;''&hArr;' => '&#8660;''&forall;' => '&#8704;'
  548.     '&part;' => '&#8706;''&exist;' => '&#8707;',
  549.     '&empty;' => '&#8709;''&nabla;' => '&#8711;''&isin;' => '&#8712;''&notin;' => '&#8713;'
  550.     '&ni;' => '&#8715;''&prod;' => '&#8719;''&sum;' => '&#8721;''&minus;' => '&#8722;'
  551.     '&lowast;' => '&#8727;''&radic;' => '&#8730;',
  552.     '&prop;' => '&#8733;''&infin;' => '&#8734;''&ang;' => '&#8736;''&and;' => '&#8743;'
  553.     '&or;' => '&#8744;''&cap;' => '&#8745;''&cup;' => '&#8746;''&int;' => '&#8747;'
  554.     '&there4;' => '&#8756;''&sim;' => '&#8764;',
  555.     '&cong;' => '&#8773;''&asymp;' => '&#8776;''&ne;' => '&#8800;''&equiv;' => '&#8801;'
  556.     '&le;' => '&#8804;''&ge;' => '&#8805;''&sub;' => '&#8834;''&sup;' => '&#8835;'
  557.     '&nsub;' => '&#8836;''&sube;' => '&#8838;',
  558.     '&supe;' => '&#8839;''&oplus;' => '&#8853;''&otimes;' => '&#8855;''&perp;' => '&#8869;'
  559.     '&sdot;' => '&#8901;''&lceil;' => '&#8968;''&rceil;' => '&#8969;''&lfloor;' => '&#8970;'
  560.     '&rfloor;' => '&#8971;''&lang;' => '&#9001;',
  561.     '&rang;' => '&#9002;''&loz;' => '&#9674;''&spades;' => '&#9824;''&clubs;' => '&#9827;'
  562.     '&hearts;' => '&#9829;''&diams;' => '&#9830;'
  563. );
  564.  
  565. # Translation of invalid Unicode references range to valid range
  566. # these are Windows CP1252 specific characters
  567. # they would look weird on non-Windows browsers
  568. # if you've ever pasted text from MSWord, you'll understand
  569. $b2_htmltranswinuni array(
  570.     '&#128;' => '&#8364;'// the Euro sign
  571.     '&#130;' => '&#8218;'
  572.     '&#131;' => '&#402;',  
  573.     '&#132;' => '&#8222;',
  574.     '&#133;' => '&#8230;',
  575.     '&#134;' => '&#8224;',
  576.     '&#135;' => '&#8225;',
  577.     '&#136;' => '&#710;',
  578.     '&#137;' => '&#8240;',
  579.     '&#138;' => '&#352;',
  580.     '&#139;' => '&#8249;',
  581.     '&#140;' => '&#338;',
  582.     '&#142;' => '&#382;',
  583.     '&#145;' => '&#8216;',
  584.     '&#146;' => '&#8217;',
  585.     '&#147;' => '&#8220;',
  586.     '&#148;' => '&#8221;',
  587.     '&#149;' => '&#8226;',
  588.     '&#150;' => '&#8211;',
  589.     '&#151;' => '&#8212;',
  590.     '&#152;' => '&#732;',
  591.     '&#153;' => '&#8482;',
  592.     '&#154;' => '&#353;',
  593.     '&#155;' => '&#8250;',
  594.     '&#156;' => '&#339;',
  595.     '&#158;' => '&#382;',
  596.     '&#159;' => '&#376;'
  597. );
  598.  
  599.  
  600. # ** RSS syndication options **
  601. # these options are used by rdf.php (1.0), rss.php (0.92), and rss2.php (2.0)
  602. # length (in words) of excerpts in the RSS feed? 0=unlimited
  603. # Note: this will not apply to html content!
  604. $rss_excerpt_length 0;
  605.  
  606. ?>

Documentation generated on Tue, 20 May 2008 01:54:20 +0200 by phpDocumentor 1.4.2