function _strrep( $string ) {
    switch( $this->format ) {
      case 'xcal':
        $string = str_replace( '\n',  $this->nl, $string);
        $string = htmlspecialchars( strip_tags( stripslashes( urldecode ( $string ))));
        break;
      default:
        $pos = 0;
        while( $pos <= strlen( $string )) {
          $pos = strpos( $string, "\\", $pos );
          if( FALSE === $pos )
            break;
          if( !in_array( $string{($pos + 1)}, array( 'n', 'N', 'r', ',', ';' ))) {
            $string = substr( $string, 0, $pos )."\\".substr( $string, ( $pos + 1 ));
            $pos += 1;
          }
          $pos += 1;
        }
        if( FALSE !== strpos( $string, '"' ))
          $string = str_replace('"',   "'",       $string);
        if( FALSE !== strpos( $string, ',' ))
          $string = str_replace(',',   '\,',      $string);
        if( FALSE !== strpos( $string, ';' ))
          $string = str_replace(';',   '\;',      $string);
        if( FALSE !== strpos( $string, "\r\n" ))
          $string = str_replace( "\r\n", '\n',    $string);
        elseif( FALSE !== strpos( $string, "\r" ))
          $string = str_replace( "\r", '\n',      $string);
        if( FALSE !== strpos( $string, '\N' ))
          $string = str_replace( '\N', '\n',      $string);
//        if( FALSE !== strpos( $string, $this->nl ))
          $string = str_replace( $this->nl, '\n', $string);
        break;
    }
    return $string;
  }
function _strrep( $string ) {
    switch( $this->format ) {
      case 'xcal':
        $string = str_replace( '\n',  $this->nl, $string);
        $string = htmlspecialchars( strip_tags( stripslashes( urldecode ( $string ))));
        break;
      default:
        $pos = 0;
        while( $pos <= strlen( $string )) {
          $pos = strpos( $string, "\\", $pos );
          if( FALSE === $pos )
            break;
          if( !in_array( $string{($pos + 1)}, array( 'n', 'N', 'r', ',', ';' ))) {
            $string = substr( $string, 0, $pos )."\\".substr( $string, ( $pos + 1 ));
            $pos += 1;
          }
          $pos += 1;
        }
        if( FALSE !== strpos( $string, '"' ))
          $string = str_replace('"',   "'",       $string);
        if( FALSE !== strpos( $string, ',' ))
          $string = str_replace(',',   '\,',      $string);
        if( FALSE !== strpos( $string, ';' ))
          $string = str_replace(';',   '\;',      $string);
        if( FALSE !== strpos( $string, "\r\n" ))
          $string = str_replace( "\r\n", '\n',    $string);
        elseif( FALSE !== strpos( $string, "\r" ))
          $string = str_replace( "\r", '\n',      $string);
        if( FALSE !== strpos( $string, '\N' ))
          $string = str_replace( '\N', '\n',      $string);
//        if( FALSE !== strpos( $string, $this->nl ))
          $string = str_replace( $this->nl, '\n', $string);
        break;
    }
    return $string;
  }
function _strrep ( $ string ) { switch ( $ this -> format ) { case 'xcal' : $ string = str_replace ( '\n' , $ this -> nl , $ string ) ; $ string = htmlspecialchars ( strip_tags ( stripslashes ( urldecode ( $ string ) ) ) ) ; break ; default : $ pos = 0 ; while ( $ pos <= strlen ( $ string ) ) { $ pos = strpos ( $ string , "\\" , $ pos ) ; if ( FALSE === $ pos ) break ; if ( ! in_array ( $ string { ( $ pos + 1 ) } , array ( 'n' , 'N' , 'r' , ',' , ';' ) ) ) { $ string = substr ( $ string , 0 , $ pos ) . "\\" . substr ( $ string , ( $ pos + 1 ) ) ; $ pos += 1 ; } $ pos += 1 ; } if ( FALSE !== strpos ( $ string , '"' ) ) $ string = str_replace ( '"' , "'" , $ string ) ; if ( FALSE !== strpos ( $ string , ',' ) ) $ string = str_replace ( ',' , '\,' , $ string ) ; if ( FALSE !== strpos ( $ string , ';' ) ) $ string = str_replace ( ';' , '\;' , $ string ) ; if ( FALSE !== strpos ( $ string , "\r\n" ) ) $ string = str_replace ( "\r\n" , '\n' , $ string ) ; elseif ( FALSE !== strpos ( $ string , "\r" ) ) $ string = str_replace ( "\r" , '\n' , $ string ) ; if ( FALSE !== strpos ( $ string , '\N' ) ) $ string = str_replace ( '\N' , '\n' , $ string ) ; //        if( FALSE !== strpos( $string, $this->nl )) $ string = str_replace ( $ this -> nl , '\n' , $ string ) ; break ; } return $ string ; }
special characters management output

@author Kjell-Inge Gustafsson <ical@kigkonsult.se>
@since 2.3.3 - 2007-12-20
@param string $string
@return string
special characters management output