我有一个包含
的文本文件(testfile.txt)127.0.0.1:80
127.0.0.1:90
127.0.0.1:100 127.0.0.1:230
127.0.0.1:110
127.0.0.1:200
127.0.0.1:201 127.0.0.1:45
127.0.0.1:86
(...)
为了修复诸如127.0.0.1:100 127.0.0.1:230和127.0.0.1:201127.0.0.1:45之类的行,我正在使用此脚本(POST METHOD):
$listValue = "";
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
if(!empty($_POST['list']))
$res = preg_match_all("/\d+\.\d+\.\d+\.\d+\:\d+/", $_POST['list'], $match);
if($res)
foreach($match[0] as $value)
$listValue .= $value."\n";
并提交:
echo trim($listValue);
脚本返回:
127.0.0.1:80
127.0.0.1:90
127.0.0.1:100
127.0.0.1:230
127.0.0.1:110
127.0.0.1:200
127.0.0.1:201
127.0.0.1:86
(...)
我需要这个脚本从testfile.txt读取并保存到testfile.txt。 有任何想法吗?干杯
答案 0 :(得分:1)
这应该做你想要的:
$list = file_get_contents('testfile.txt');
$res = preg_match_all("/\d+\.\d+\.\d+\.\d+\:\d+/", $list, $match);
if($res) {
foreach($match[0] as $value)
$listValue .= $value."\n";
file_put_contents('testfile.txt', trim($listValue));
}
编辑:另外,代替正则表达式,你可以做一个简单的str_replace('',“\ n”,$ list)