php如何检查给定的字符串(代码行)?

时间:2013-07-03 11:28:30

标签: php

我读了php文件,并且该文件内容(一些代码行)逐行存储在php数组中

我的php文件行数组

$old_line_arr = new array(
                           "define ( 'name', '' );"
                           "//define ( 'age', '' );"   
                           "   //define ( 'ID', '' );"
                           )

我想检查给定的行数组是否被评论

isComment($old_line_arr[0]){
  echo $old_line_arr[0].'commented';
}

我怎么写isComment函数?是否有任何内置的PHP函数用于检查给定的PHP是评论或未评论。

2 个答案:

答案 0 :(得分:4)

快速而肮脏,可能需要针对各种条件的更多错误处理代码:

$string = "//define('ID', '');";

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

if ($tokens[1][0] == T_COMMENT) {
    // it's a comment
} else {
    // it's not
}

答案 1 :(得分:2)

您可以像这样创建function

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';