繁体   English   中英

如何计算php文件中javascript的行数?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM