HTML regexen! , . , , regexen. , , , <title>/</title>, .
( 1: , , DOM, , . .)
, ? , . JavaScript, . JavaScript, , HTML, , , . JavaScript, , JavaScript.
: title HTML, . , , , , , . : , CDATA .. ( , .) , ! , Safari, Firefox , , Title of the document <title> Continuing title. , , , . ( !) - :
function getTitle(html) {
return (html.replace( /<!\[CDATA\[(.+?)\]\]>/g
, function (_match, body) {
return body.replace(/&/g, '&')
.replace(/</g, '<')
.replace(/>/g, '>')
} )
.replace(/<!--.+?-->/g, '')
.match(/<title>.+?<\/title>/ig) || [])
.map(function (t) { return t.substring(7, t.length - 8) })
.join(' ')
}
HTML, , , , . -, CDATA. <![CDATA[ ]]>. . ( ), - title. 3: , -, .match() null [], ; , . ( edit 3: regexen ) , , . , , . ( ), ( }) .match(/<title>(.+?)<\/title>/)[0]. , ( ), ( (, , ), , () <title>...</title> s) , , - . , .
1: , ; , DOM. , .
DOM JavaScript, , HTML title:
var titles = document.getElementsByTagName('title')
var titleText = titles.length > 0 ? titles[0].text : ''
, HTML, , (, , ), - . Firefox, Safari , , Title of the document <title> Continuing title. , , :
var titles = document.getElementsByTagName('title')
var tlength = titles.length
var titleText = ''
for (var i = 0; i < tlength; ++i)
titleText += titles[i].text
, <title>, , , , . , <title> , - HTML, , replace, . <title>
var titles = document.getElementsByTagName('title')
var titleText = titles.length > 0 ? titles[0].text.replace(/<title>/ig,'') : ''
<title>
var titles = document.getElementsByTagName('title')
var tlength = titles.length
var titleText = ''
for (var i = 0; i < tlength; ++i)
titleText += titles[i].text.replace(/<title>/ig,'')
<title> , ; , , , . , . , ( ), HTML.