【问题标题】:Request only row one from text area? [duplicate]仅从文本区域请求第一行? [复制]
【发布时间】:2012-12-23 14:07:59
【问题描述】:

可能重复:
How to put string in array, split by new line?

当使用$_REQUEST[''] 时是否可以只从文本区域请求一行?

类似:

<?php 

  $text = $_REQUEST['originalText']; 

?>

<textarea name="firstRow" rows="5" cols="50" wrap="OFF" ><?php 
    echo $text
?></textarea>

<form action="index.php" method="POST" name="editText">
  <input name="submit" value="Edit Text" type="submit"><br>
  <textarea name="originalText" rows="5" cols="50" wrap="OFF"></textarea>
</form>

是否可以只回显$text 的第一行而不是echo $text

【问题讨论】:

  • 你试过什么?你被困在哪里?你在网站上搜索过吗?
  • 我不知道从哪里开始,我已经知道了,所以我将整个 textarea 放到了新的 textarea 中(上面的代码),但我不知道如何将第一行移过来,而是整个事情。

标签: php html text


【解决方案1】:

我不明白你所说的第一行是什么意思,但如果你想获得第一行(在“输入”之前),请执行以下操作:

list($first_line) = explode("\n", $text, 2);

或者(最好):

$first_line = strstr($text, "\n", true);

请参阅 strtrDocsDemo - 您可能需要将 "\n" 添加到 $text 以确保至少存在一行。

【讨论】:

  • 这正是我所需要的,谢谢我在 6 分钟内接受答复
  • @DanielX2010:我编辑了您的答案以显示更合适的 PHP 函数的用法并简化了您的爆炸示例。
  • @hakre 非常好!谢谢!
【解决方案2】:

这段代码也可以。

<?php
 if(isset($_REQUEST['text'])){
    $text = $_REQUEST['text'];
    $line1 = strpos($text, "\n");
    if($line1 !== false){
        echo substr($text, 0, $line1);
    } else {
        echo $text;
    }
    exit;
 }
?>
<form>
    <textarea name="text"></textarea>
    <input type="submit" />
</form>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多