2013-02-17 1 views
0

У меня есть текстовая область и кнопка отправки, когда я пишу материал в текстовое поле и нажимаю кнопку - он записывает содержимое textarea в txt-файл, мне нужна помощь в форматировании этого содержимого с помощью взрыва , Вот код им с помощью, чтобы записать содержимое текстовой в текстовый файл:запись, чтение и разворачивание содержимого файла txt

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

Как и можно видеть, что это пишет в imones.txt файл. Теперь я хочу прочитать содержимое этого файла, отформатировать его и записать форматированный контент в другой файл. Я не могу показаться, чтобы получить, как написать несколько разделителей для взрываются .. Вот пример того, как я ввода данных в текстовое поле (все неаккуратно запятыми и прочее):

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

Вот как я хочу это получить отформатирован (в основном я хочу, чтобы удалить «», „\ п“, „\ г“):

example.com 
example.com 
example.com 

.. (все ссылки в одной строке без пробелов, обратите внимание, что ссылки разные и не одинаковые)

ответ

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); 
+0

, как и метод выше, он также дает две новые строки после каждого значения по какой-то причине – user1894929

+0

2x новые строки после каждого значения? Извините, но я не получаю это на своей коробке. Weird! – theOrb

+1

То же самое здесь. Этот пример работает. [Здесь это в моем тесте] (http://vetrastudios.com/text.php). – Gor

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); 
+0

по какой-то причине он записывает каждое значение с пробелом вместо новой строки, понимает, что я имею в виду - он пишет вот так (example.com example.com example.com), где я хочу, чтобы он писал вот так (example.com \ n example.com \ n example.com \ n (каждое значение из новой строки) – user1894929

+0

Linux или Windows? Linux newline - «\ n», Windows newline - «\ r \ n». Может быть, именно по этой причине. – nepda

+0

Кажется, что «\ r \ n» добавила новую строку, но теперь есть два пробела между значениями, например this (example.com \ nexample.com) – user1894929

 Смежные вопросы

  • Нет связанных вопросов^_^