PHP 计算标题标签内的字符数
PHP Count characters inside title tag
我正在尝试计算标题标签中的文本。但这似乎不起作用。我试过 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}}
$title_tag = $dom->getElementsByTagName('title');
foreach($tital_tag as $title){
$title_length = strlen($title->nodeValue);
}
您需要遍历标题标签...这并不意味着您有多个标签。 Dom 简单地 return object 需要访问
然后你得到标题的长度
根据documentation, DOMDocument::getElementsByTagName
returns a DOMNodeList
对象,不是字符串。
您需要使用 foreach
循环遍历列表中的元素并检索每个节点值的长度。
只是使用 jquery 的替代方法,您可以按如下方式计算字符数:
<script type="text/javascript">
$(document).ready(function(){
var title = $(document).prop('title').length;
console.log(title);
});
</script>
你不能仅仅这样做就得到结果,因为 getElementsByTagName() 函数所做的是 return "A NodeList object, representing a collection of elements with the specified tag name.".
即。如果你在 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>
注意:returned 集合中的元素按它们在源代码中出现的顺序排序。
我正在尝试计算标题标签中的文本。但这似乎不起作用。我试过 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}}
$title_tag = $dom->getElementsByTagName('title');
foreach($tital_tag as $title){
$title_length = strlen($title->nodeValue);
}
您需要遍历标题标签...这并不意味着您有多个标签。 Dom 简单地 return object 需要访问 然后你得到标题的长度
根据documentation, DOMDocument::getElementsByTagName
returns a DOMNodeList
对象,不是字符串。
您需要使用 foreach
循环遍历列表中的元素并检索每个节点值的长度。
只是使用 jquery 的替代方法,您可以按如下方式计算字符数:
<script type="text/javascript">
$(document).ready(function(){
var title = $(document).prop('title').length;
console.log(title);
});
</script>
你不能仅仅这样做就得到结果,因为 getElementsByTagName() 函数所做的是 return "A NodeList object, representing a collection of elements with the specified tag name.".
即。如果你在 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>
注意:returned 集合中的元素按它们在源代码中出现的顺序排序。