对文本操作的疑惑

benbena 2004-06-17 09:17:39
文本有如下格式:
something else
[A]
name=abc;
config=def;
[B]
name=cba;
config=hig;
other config text

通过php怎么根据A/B或name的值来更改config的值?
比如name=abc的。可以选择config=def或ghi或jklm,然后选择后将A中的config改成该值。不知道我说清楚没有。
...全文
137 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
benbena 2004-06-19
  • 打赏
  • 举报
回复
谢谢唠叨大哥的回复,但是还有一个问题(不好意思,我太罗嗦了)
你的方法可以写入了,可是注释就给扔拉,比如原来文件
'zhushi
[A]
'zhushi1
name=xxx
'zhushi2
config=yyy

之后我write_ini_file之后,'zhushi*'就都没了…… 有什么办法啊……
谢谢!
ashchen 2004-06-18
  • 打赏
  • 举报
回复
操作数组,然后把数组联成字符串写入文件。
xuzuning 2004-06-18
  • 打赏
  • 举报
回复
把数组写入ini文件
function write_ini_file($array,$filename) {
$ok = "";
$s = "";
foreach($array as $k=>$v) {
if(is_array($v)) {
if($k != $ok) {
$s .= LF."[$k]".LF;
$ok = $k;
}
$s .= write_ini_file($v,"");
}else {
if(trim($v) != $v || strstr($v,"["))
$v = "\"$v\"";
$s .= "$k = $v".LF;
}
}
if($filename == "")
return $s;
else {
$fp = fopen($filename,"w");
fwrite($fp,$s);
fclose($fp);
}
}
benbena 2004-06-17
  • 打赏
  • 举报
回复
楼上的方法可以方便的读出数据,可是怎么更改数据啊?比如将[B]中的config改为"xyz"
ccterran 2004-06-17
  • 打赏
  • 举报
回复
可以用parse_ini_file函数来分析该文本,然后修改相应的值,然后重写。

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧