0

我有一个 textarea 和一个提交按钮,一旦我将内容写入 textarea 并按下按钮 - 它会将 textarea 内容写入 txt 文件,我需要帮助使用爆炸来格式化该内容。这是我用来将 textarea 内容写入 txt 文件的代码:

$tavalues = ($_POST['dname']); //dname is textarea field
$filename = "imones.txt";
$fp = fopen ($filename, "w");
if ($fp){
    fwrite($fp, $tavalues);
} 
fclose($fp);

如您所见,它写入了 imones.txt 文件。现在我想读取该文件内容,对其进行格式化,并将格式化的内容写入另一个文件。我似乎不知道如何为explode编写多个分隔符。 这是我如何将数据输入到textarea的示例(所有逗号和东西都乱七八糟):

example.com  example.com
 example.com, example.com
example.com

这是我希望它被格式化的方式(基本上我想删除 ',' , '\n', '\r'):

example.com
example.com
example.com

..(所有链接都在一行中,不带空格,注意链接不一样不一样)

4

3 回答 3

1

也许试试这个。它又快又脏。为了获得更好的解决方案,您应该尝试使用正则表达式!

$input = "exampleA.com  exampleB.com
 exampleC.com, exampleD.com
exampleE.com";
$tmp = explode(" ", $input);
$str = "";
$filename = "imones.txt";
$fp = fopen ($filename, "w");
if ($fp){
    for ($i = 0; $i < count($tmp); $i++) {
      if ($tmp[$i] != "") {
          $tmp[$i] = str_replace(",", "", $tmp[$i]);
          $tmp[$i] = trim($tmp[$i]);
          $str .= $tmp[$i]."\n";
      }
    }
fwrite($fp, $str);
} 
fclose($fp);
于 2013-02-17T17:41:06.617 回答
0

如何将所有爆炸字符转换为一个而不是由此爆炸?!

$expl = ';';
$content = file_get_contents('imones.txt');
$content = str_replace(',', $expl, $content);
$content = str_replace('\n', $expl, $content);
$content = str_replace('\r', $expl, $content);
$content = str_replace(' ', $expl, $content);
// ...

while (strpos($content, "$expl$expl") !== false) { // while $expl is found twice
    $content = str_replace("$expl$expl", $expl, $content); // remove this
}

$parts = explode($expl, $content);

// than join them
$formatted = implode("\n", $parts);
file_put_contents('somefile.txt', $formatted);
于 2013-02-17T16:56:15.997 回答
-1

试试PHP 的preg_replace() 。

于 2013-02-17T16:49:15.477 回答