00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00030 function xml_to_html($xml_file)
00031 {
00032
00033 $normalize = WebApp::getSVar('edit_content->normalize');
00034 $norm = ($normalize=='true' ? '_normalize' : '');
00035 $xsl_file = XSLT."edit_content/xml2html${norm}.xsl";
00036 $html_content = shell("xsltproc $xsl_file $xml_file");
00037
00038 return $html_content;
00039 }
00040
00041 function xml_to_text($xml_file)
00042 {
00043 $patterns =
00044 array(
00045
00046 "/(_|`|~)/",
00047
00048
00049 "/\[([^\]]+)\]/",
00050
00051
00052 "/!#/",
00053
00054
00055 "/^\s*(bash\\\$|bash#)/",
00056 );
00057
00058 $replacements =
00059 array(
00060
00061 '\\\\\\1',
00062
00063
00064 '\\[\\1]',
00065
00066
00067 '\\!#',
00068
00069
00070 '\\\\\\1',
00071 );
00072
00073 $arr_lines = file($xml_file);
00074 for ($i=0; $i < sizeof($arr_lines); $i++)
00075 {
00076 $arr_lines[$i] = preg_replace($patterns, $replacements, $arr_lines[$i]);
00077 }
00078 $xml_content = implode('', $arr_lines);
00079 $tmpfile = write_tmp_file($xml_content);
00080
00081
00082 $xsl_file = XSLT."edit_content/xml2text.xsl";
00083 $text_content = shell("xsltproc $xsl_file $tmpfile 2>&1");
00084 unlink($tmpfile);
00085
00086 $patterns = array('/&lt;/', '/&gt;/');
00087 $replacements = array('\\<', '\\>');
00088 $text_content = preg_replace($patterns, $replacements, $text_content);
00089
00090 return $text_content;
00091 }
00092 ?>