PHP计数标题内的字符

时间:2017-02-15 11:04:02

标签: php count strlen

我试图计算标题标签中的文字。但它似乎不起作用。我尝试过count(),strlen()等。例如:

<title>Count me!</title>

当我使用strlen()时出现此错误:

strlen() expects parameter 1 to be string, object given

当我使用count时,你得到2.我认为它会计算我文件中的标题标签。

控制器:

$title = $dom->getElementsByTagName('title');
$count = strlen($title);

指数:

{{$count}}

4 个答案:

答案 0 :(得分:0)

$title_tag = $dom->getElementsByTagName('title');
foreach($tital_tag as $title){
$title_length = strlen($title->nodeValue);
}

你需要遍历标题标签......这并不意味着你有多个标签。 Dom只返回需要访问的对象  然后你获得标题长度

答案 1 :(得分:0)

根据documentationDOMDocument::getElementsByTagName会返回DOMNodeList个对象,而不是字符串。

您需要使用foreach循环遍历列表中的元素,并检索每个节点的值的长度。

答案 2 :(得分:0)

使用jquery只是一个替代方法,您可以按如下方式计算字符:

<script type="text/javascript">
$(document).ready(function(){
    var title = $(document).prop('title').length; 
    console.log(title);
});

</script> 

答案 3 :(得分:0)

你无法实现这样的结果,因为getElementsByTagName()函数的作用是返回“一个NodeList对象,表示具有指定标记名称的元素集合。”。

即。如果你在ul标签上调用它,它会在ul中为你提供一组li标签。

你可以试试这个;

<html>
<head>
	<title>Heello</title>
</head>
<body>
	<script type="text/javascript">
		var text = document.getElementsByTagName("title")[0].innerHTML.length;//get the length of the first title tag
		alert(text);//text no contains the length of characters within the title tag
	</script>
</body>
</html>

注意:返回集合中的元素按照它们在源代码中的显示进行排序。