html.js
1.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/*eslint no-invalid-this:0*/
'use strict';
var util = require('util');
var cutil = require('./util');
module.exports = function (encoding, client, cheerio) {
/**
* cheerio.load()の際にdecodeEntitiesをtrueにするとhtml()メソッドで文字列が
* すべてエンティティ表記になってしまうのでエンティティをデコードするように拡張する
*
* @param str 指定した場合はその文字列を要素のHTMLとして設定
* 指定しない場合は要素に設定されているHTMLを返す
*/
// cheerioデフォルトのhtmlメソッドをentityHtmlとして退避
cheerio.prototype.entityHtml = cheerio.prototype.html;
cheerio.prototype.html = function (str) {
// cheerioデフォルトのhtml()結果をデコード(エンティティ可読文字化)したものを返す
return cutil.decodeEntities(this.entityHtml(str));
};
/***
* [DEPRECATED] 将来削除予定
*/
var deprecatedMessage = '%s() will be removed in the future)';
cheerio.prototype._text = function (str) {
cutil.colorMessage('DEPRECATED', util.format(deprecatedMessage, '_text'));
return this.text(str);
};
cheerio.prototype._html = function (str) {
cutil.colorMessage('DEPRECATED', util.format(deprecatedMessage, '_html'));
return this.html(str);
};
};