在php中只用str_replace替换uncomment字符串

时间:2012-11-21 08:51:30

标签: php

log.php

define ( 'COMPANY_WEB', 'www.6666.com' );
//define ( 'COMPANY_WEB', 'www.6666.com' );
define ( 'COMPANY_FAX', 'asdfffff' );

我的字符串替换代码....

$config_old_arr[0] = " define ( 'COMPANY_WEB', 'www.6666.com' )";
$config_new_arr[0] = " define ( 'COMPANY_WEB', 'www.NEW.com' )";

$config_new_file_content = str_replace($config_old_arr, $config_new_arr, $logfilecontent);

运行我的代码后...... 更改新的log.php文件

logNew.php

define ( 'COMPANY_WEB', 'www.NEW.com' );
//define ( 'COMPANY_WEB', 'www.NEW.com' );
define ( 'COMPANY_FAX', 'asdfffff' );

但我想只更改非注释行(第1行)中的值,因此结果字符串想要如下所示

logNew.php

define ( 'COMPANY_WEB', 'www.NEW.com' );
//define ( 'COMPANY_WEB', 'www.6666.com' );
define ( 'COMPANY_FAX', 'asdfffff' );

我喜欢使用str_replace()函数,但该方法可能不适合此问题 任何人都知道这个问题的解决方案,请帮助我。

1 个答案:

答案 0 :(得分:-1)

使用substr检查字符串的前2个字符

// $ linetocheck =要替换的行

if (substr($linetocheck, 0, 2) == "//") {

    //the first 2 chars are //

}