【问题标题】:How can I write specific lines from a text area form to a text file? PHP如何将文本区域表单中的特定行写入文本文件? PHP
【发布时间】:2014-03-12 05:17:05
【问题描述】:

所以我希望能够将其粘贴到文本区域中,并且我希望它将每个特定的line/word 写入文本文件中。

First Name Last Name
Home (123) 345-6789 
51 Street Name 
City, Pr ABC DEF

文本文件应以这种格式写入。 First Name Last Name!Home (123) 345-6789!51 Street Name!City! Pr !ABC DEF!(注意感叹号、空格和逗号)。程序应该能够读取第 1、2、3 行中的所有单词,无论有多少单词。第 4 行将完全采用该格式,包含 4 个单独的单词。我需要它以我上面列出的特定格式输出。这就是我感到困惑的地方。如果有人对此有解决方案,我将不胜感激。我已经尝试了很多事情,但我似乎无法让我的代码正常工作。我是新手,所以如果你能尽可能多地包含,那就太好了。谢谢。

【问题讨论】:

  • 介意告诉我们更多关于“我已经尝试了很多事情”的信息吗?您是否总是希望打印最后一个子字符串(空格之后)?
  • 看起来这应该只需要在输入上调用explode(),循环遍历行,对每行调用explode,然后将每个数组中的最后一个数字写入文件。
  • 您的意思是在文件中写入1111!1112!1113!1114 1121 1123,但在文本区域中按原样显示?
  • 我已经编辑了我的问题,希望能让您更深入地了解我的需求。

标签: php textarea multiline


【解决方案1】:

通过简单地使用 PHP 的字符串函数。

<?php
$str='First Name Last Name
Home (123) 345-6789
51 Street Name
City, Pr ABC DEF';
$new_str="";
foreach(explode(PHP_EOL,$str) as $val)
{
    if(strpos($val,',')!==false)
    {
        $val=trim(str_replace(',','',$val)); //<--- For the space thing
        $val=explode(' ',$val);
        $new_str.=implode('!',$val)."!";
    }
    else
    {
        $new_str.=trim($val)."!"; //<--- Added here
    }
}
echo $new_str;

OUTPUT :

First Name Last Name!Home (123) 345-6789!51 Street Name!City!Pr!ABC!DEF!

【讨论】:

  • 再次感谢您的帮助。我从你的回答中注意到的一件事是有一个!在 ABC 和 DEF 之间。我需要的格式是“First Name Last Name!Home (123) 345-6789!51 Street Name!City! Pr !ABC DEF!”所以不行 !在 ABC 和 DEF 之间。之间也可以有空格!和 Pr 前后如此像这样“!Pr !”。再次感谢。
  • 如果您能试一试,我将不胜感激。所以输出应该是 First Name Last Name!Home (123) 345-6789!51 Street Name!City! Pr !ABC DEF!
  • 当我尝试从文本区域表单中获取文本时,它还在每一行的末尾添加一个额外的空格
  • 改成这样$val=trim(str_replace(',','',$val));
  • 不幸的是,间距问题仍然存在。它的输出如下: First Name Last Name !Home (123) 345-6789 !51 Street Name !City!Pr!ABC!DEF!当我从文本区域获取文本时。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-01-03
  • 2012-05-14
  • 1970-01-01
  • 2023-03-11
  • 1970-01-01
  • 2013-11-01
  • 1970-01-01
相关资源
最近更新 更多