[英]How to Count number of lines of javascript in php files?
我需要数一数。 php文件中脚本标记之间的内联java脚本行。 我该怎么做? 请问grep linux命令是否足够,或者我可以使用一些工具来做到这一点? 请帮忙。
您可以使用正则表达式来提取文件中每个SCRIPT标记的内容,而不是计算内容中的\\ n个出现次数。
此正则表达式应匹配所有脚本标记,包括开始和结束标记:
/<script[^>]*?>(.*)?</script>/sm
您应该删除没有任何代码的标记和行来计算JavaScript代码的实际行。
请查看以下代码,它可以工作,但您可能需要根据您的要求进行更新
<?php
$file = file('thisfile.php');
for($i=0;$i<count($file);$i++)
{
if(trim($file[$i]) == "<script language=\"javascript\">")
{
$start = $i.'<br>';
}
if(trim($file[$i]) == "</script>")
{
$end = $i.'<br>';
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script language="javascript">
var a = 10;
var b = 10;
var c = 10;
var d = 10;
var e = 10;
var e = 10;
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php echo ($end - $start)-1; ?>
</body>
</html>
将此php文件保存为thisfile.php然后尝试
祝你今天愉快
如果需要从已处理的HTML页面执行此操作,请使用DOM
获取没有src
属性的所有脚本标记。 然后,对于每个找到的节点,通过换行符拆分子TextNode或简单计算它们。 完成。
如果您需要从实际的PHP源代码中获取它,请使用Tokenizer
查找T_STRINGS
和类似的解析器令牌并分析它们的<script>
块,但请注意,如果有以下代码,则可能无法找到所有这些令牌 :
echo '<' . $scriptTag . '>' . $code . '</' . $scriptTag . '>';
因为在PHP处理它之前,它不能被分析为JavaScript字符串。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.