'); define('LOG4PHP_LOGGER_TRANSFORM_CDATA_PSEUDO_END', ']]>'); define('LOG4PHP_LOGGER_TRANSFORM_CDATA_EMBEDDED_END', LOG4PHP_LOGGER_TRANSFORM_CDATA_END . LOG4PHP_LOGGER_TRANSFORM_CDATA_PSEUDO_END . LOG4PHP_LOGGER_TRANSFORM_CDATA_START ); /** * Utility class for transforming strings. * * @author Marco Vassura * @package log4php * @subpackage helpers * @since 0.7 */ class LoggerTransform { /** * This method takes a string which may contain HTML tags (ie, * <b>, <table>, etc) and replaces any '<' and '>' * characters with respective predefined entity references. * * @param string $input The text to be converted. * @return string The input string with the characters '<' and '>' replaced with * &lt; and &gt; respectively. * @static */ function escapeTags($input) { //Check if the string is null or zero length -- if so, return //what was sent in. if(empty($input)) return $input; //Use a StringBuffer in lieu of String concatenation -- it is //much more efficient this way. return htmlspecialchars($input, ENT_NOQUOTES); } /** * Ensures that embeded CDEnd strings (]]>) are handled properly * within message, NDC and throwable tag text. * * @param string $buf String holding the XML data to this point. The * initial CDStart () * of the CDATA section are the responsibility of * the calling method. * @param string &str The String that is inserted into an existing * CDATA Section within buf. * @static */ function appendEscapingCDATA(&$buf, $str) { if(empty($str)) return; $rStr = str_replace( LOG4PHP_LOGGER_TRANSFORM_CDATA_END, LOG4PHP_LOGGER_TRANSFORM_CDATA_EMBEDDED_END, $str ); $buf .= $rStr; } }