首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查给定的字符串(代码行)是否为php注释?

问如何检查给定的字符串(代码行)是否为php注释?
EN

Stack Overflow用户
提问于 2013-07-03 19:28:30
回答 2查看 463关注 0票数 1

我逐行读取php文件和存储在php数组中文件内容(一些代码行

我的php文件行数组

代码语言:javascript
复制
$old_line_arr = new array(
                           "define ( 'name', '' );"
                           "//define ( 'age', '' );"   
                           "   //define ( 'ID', '' );"
                           )

我想检查给定的行数组是否有注释

代码语言:javascript
复制
isComment($old_line_arr[0]){
  echo $old_line_arr[0].'commented';
}

如何编写isComment函数?在php函数中有没有任何内建来检查给定的php是否已被注释。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-03 19:34:06

您可以像这样创建一个function

代码语言:javascript
复制
function isComment($str) {
    $str = trim($str);
    $first_two_chars = substr($str, 0, 2);
    $last_two_chars = substr($str, -2);
    return $first_two_chars == '//' || substr($str, 0, 1) == '#' || ($first_two_chars == '/*' && $last_two_chars == '*/');
}

示例:echo isComment($old_line_arr[0]) ? 'comment' : 'not a comment';

票数 2
EN

Stack Overflow用户

发布于 2013-07-03 19:33:28

快速和肮脏,可能需要更多的错误处理代码来处理各种情况:

代码语言:javascript
复制
$string = "//define('ID', '');";

$tokens = token_get_all("<?php $string");

if ($tokens[1][0] == T_COMMENT) {
    // it's a comment
} else {
    // it's not
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17446739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档