Search::sylk_clean PHP Method

sylk_clean() static public method

Clean display value for sylk export
static public sylk_clean ( $value ) : clean
$value string value
return clean value
    static function sylk_clean($value)
    {
        $value = preg_replace('/\\x0A/', ' ', $value);
        $value = preg_replace('/\\x0D/', NULL, $value);
        $value = str_replace("\"", "''", $value);
        $value = Html::clean($value);
        $value = str_replace(">", ">", $value);
        $value = str_replace("&lt;", "<", $value);
        return $value;
    }

Usage Example

Example #1
0
 /**
  * Print generic normal Item Cell
  *
  * @param $type         display type (0=HTML, 1=Sylk,2=PDF,3=CSV)
  * @param $value        value to display
  * @param &$num         column number
  * @param $row          row number
  * @param $extraparam   extra parameters for display (default '')
  *
  * @return string to display
  * */
 static function showItem($type, $value, &$num, $row, $extraparam = '', $params = array())
 {
     $out = "";
     switch ($type) {
         case Search::PDF_OUTPUT_LANDSCAPE:
             //pdf
         //pdf
         case Search::PDF_OUTPUT_PORTRAIT:
             global $PDF_TABLE;
             $value = preg_replace('/' . Search::LBBR . '/', '<br>', $value);
             $value = preg_replace('/' . Search::LBHR . '/', '<hr>', $value);
             $PDF_TABLE .= "<td {$extraparam} valign='top'>";
             $PDF_TABLE .= Html::weblink_extract(Html::clean($value));
             $PDF_TABLE .= "</td>\n";
             break;
         case Search::SYLK_OUTPUT:
             //sylk
             global $SYLK_ARRAY, $SYLK_HEADER, $SYLK_SIZE;
             $value = Html::weblink_extract($value);
             $value = preg_replace('/' . Search::LBBR . '/', '<br>', $value);
             $value = preg_replace('/' . Search::LBHR . '/', '<hr>', $value);
             $SYLK_ARRAY[$row][$num] = Search::sylk_clean($value);
             $SYLK_SIZE[$num] = max($SYLK_SIZE[$num], Toolbox::strlen($SYLK_ARRAY[$row][$num]));
             break;
         case Search::CSV_OUTPUT:
             //csv
             $value = preg_replace('/' . Search::LBBR . '/', '<br>', $value);
             $value = preg_replace('/' . Search::LBHR . '/', '<hr>', $value);
             $value = Html::weblink_extract($value);
             $quotes = "";
             if ($params['quotes']) {
                 $quotes = "\"";
             }
             switch ($params['encoding']) {
                 case self::ANSI_ENCODING:
                     $out = "{$quotes}" . Toolbox::decodeFromUtf8(Search::csv_clean($value), 'windows-1252') . "{$quotes}" . $_SESSION["glpicsv_delimiter"];
                     break;
                 case self::UTF8_ENCODING:
                     $out = "{$quotes}" . Search::csv_clean($value) . "{$quotes}" . $_SESSION["glpicsv_delimiter"];
                     break;
             }
             break;
         default:
             $out = "<td {$extraparam} valign='top'>";
             if (!preg_match('/' . Search::LBHR . '/', $value)) {
                 $values = preg_split('/' . Search::LBBR . '/i', $value);
                 $line_delimiter = '<br>';
             } else {
                 $values = preg_split('/' . Search::LBHR . '/i', $value);
                 $line_delimiter = '<hr>';
             }
             $limitto = 20;
             if (count($values) > $limitto) {
                 for ($i = 0; $i < $limitto; $i++) {
                     $out .= $values[$i] . $line_delimiter;
                 }
                 //                $rand=mt_rand();
                 $out .= "...&nbsp;";
                 $value = preg_replace('/' . Search::LBBR . '/', '<br>', $value);
                 $value = preg_replace('/' . Search::LBHR . '/', '<hr>', $value);
                 $out .= Html::showToolTip($value, array('display' => false, 'autoclose' => false));
             } else {
                 $value = preg_replace('/' . Search::LBBR . '/', '<br>', $value);
                 $value = preg_replace('/' . Search::LBHR . '/', '<hr>', $value);
                 $out .= $value;
             }
             $out .= "</td>\n";
     }
     $num++;
     return $out;
 }