@@ -13,6 +13,7 @@ type Result struct {
13
13
14
14
type Detector struct {
15
15
recognizers []recognizer
16
+ stripTag bool
16
17
}
17
18
18
19
// List of charset recognizers
@@ -62,24 +63,28 @@ var recognizers = []recognizer{
62
63
newRecognizer_IBM420_ar_ltr (),
63
64
}
64
65
65
- func NewDetector () * Detector {
66
- return & Detector {recognizers }
66
+ func NewTextDetector () * Detector {
67
+ return & Detector {recognizers , false }
68
+ }
69
+
70
+ func NewHtmlDetector () * Detector {
71
+ return & Detector {recognizers , true }
67
72
}
68
73
69
74
var (
70
75
NotDetectedError = errors .New ("Charset not detected." )
71
76
)
72
77
73
- func (d * Detector ) DetectBest (b []byte , stripTag bool , declaredCharset string ) (r * Result , err error ) {
78
+ func (d * Detector ) DetectBest (b []byte ) (r * Result , err error ) {
74
79
var all []Result
75
- if all , err = d .DetectAll (b , stripTag , declaredCharset ); err == nil {
80
+ if all , err = d .DetectAll (b ); err == nil {
76
81
r = & all [0 ]
77
82
}
78
83
return
79
84
}
80
85
81
- func (d * Detector ) DetectAll (b []byte , stripTag bool , declaredCharset string ) ([]Result , error ) {
82
- input := newRecognizerInput (b , stripTag , declaredCharset )
86
+ func (d * Detector ) DetectAll (b []byte ) ([]Result , error ) {
87
+ input := newRecognizerInput (b , d . stripTag )
83
88
outputChan := make (chan recognizerOutput )
84
89
for _ , r := range d .recognizers {
85
90
go matchHelper (r , input , outputChan )
0 commit comments