Esempio n. 1
0
 /**
  * 
  * 压缩文本
  */
 public function compressText($token)
 {
     $value = $token['value'];
     //如果文本中含有//,则不去除换行等,主要是一些异步接口(JS环境)会被识别成HTML环境,如果有JS的//注释就要注意了
     if (strpos($value, '//') !== false) {
         return $value;
     }
     if ($this->options['remove_newline']) {
         $value = str_replace(FL_NEWLINE, '', $value);
     } else {
         if ($this->options['newline_to_space']) {
             $value = str_replace(FL_NEWLINE, FL_SPACE, $value);
         }
     }
     $value = str_replace("\t", " ", $value);
     if ($this->options['replace_multi_space'] !== false) {
         $value = preg_replace(FL_SPACE_PATTERN, $this->options['replace_multi_space'], $value);
     }
     if ($this->options['remove_inter_tag_space']) {
         $value = rtrim($value);
     } elseif (Fl_Html_Static::isTag($this->nextToken)) {
         if (Fl_Html_Static::isSafeTag($this->nextToken['lowerTag'])) {
             $value = rtrim($value);
         } else {
             if ($this->options['remove_inter_block_tag_space'] && Fl_Html_Static::isBlockTag($this->nextToken['lowerTag'])) {
                 $value = rtrim($value);
             }
         }
     }
     return $value;
 }