>백엔드 개발 >PHP 튜토리얼 > php读取或批改配置型文件中指定关键字的值

php读取或批改配置型文件中指定关键字的值

WBOY
WBOY원래의
2016-06-13 12:56:04849검색

php读取或修改配置型文件中指定关键字的值
想从一个linux中的配置文件中读取或修改指定的信息数值,下列是文件的一小部分,大概占全部文件的20分之一,如我想修改GSM.MNC的值为09,或者读取GSM.MNC的值如何操作,不要用读取指定行的方法,因为文件可能添加或者删除信息,行数不确定



# Network and cell identity.

# Network Color Code, 0-7
# Also set GSM.NCCsPermitted later in this file.
GSM.NCC 0
# Basesation Color Code, 0-7
GSM.BCC 2
# Mobile Country Code, 3 digits.
# MCC MUST BE 3 DIGITS.  Prefix with 0s if needed.
# Test code is 460.
GSM.MCC 460
# Mobile Network Code, 2 or 3 digits.
# Test code is 00.
GSM.MNC 08
# Location Area Code, 0-65535
GSM.LAC 1000
# Cell ID, 0-65535
GSM.CI 10

# Network "short name" to display on the handset.
# This is optional, but must be defined if you also want to
# send current time-of-day to the phine.
GSM.ShortName RZ8004
$optional GSM.ShortName

# A boolean telling whether or not to show country initials with the name.
GSM.ShowCountry
$optional GMS.ShowCountry

# Assignment type for call setup.
# The default is early assignment.
# If defined, this will cause us to use very early assignment instead.
GSM.VEA
$optional GSM.VEA


------解决方案--------------------
<?PHP<br />
$string = '# Network Color Code, 0-7<br />
# Also set GSM.NCCsPermitted later in this file.<br />
GSM.NCC 0<br />
# Basesation Color Code, 0-7<br />
GSM.BCC 2<br />
# Mobile Country Code, 3 digits.<br />
# MCC MUST BE 3 DIGITS.  Prefix with 0s if needed.<br />
# Test code is 460.<br />
GSM.MCC 460<br />
# Mobile Network Code, 2 or 3 digits.<br />
# Test code is 00.<br />
GSM.MNC 08';<br />
<br />
$pattern = '/GSM\.MNC (\d+)/U';<br />
$replacement = '99999';<br />
echo preg_replace($pattern, $replacement, $string);

------解决方案--------------------
echo preg_replace('/(?
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.