0

我是初学者和自学者。这可能是一个简单的问题,但它给我带来了一些问题。我想我错过了什么地方。

当我在其中写入一些文本textarea并点击查找和替换按钮(将其他两个字段留空)时,从中捕获的值textarea应该出现在textarea自身中,并且错误消息应该出现在textarea. textarea不应为空。我认为消息工作正常。

我不确定问题是否出在按钮或 action='' 形式上。

<?php
//find and replace string
//using str_replace(), takes three parameters, $findword, $wordtoreplace, $userinput

if(isset($_POST['text']) && isset($_POST['find']) && isset($_POST['replace'])){
    $paragraph=nl2br(htmlentities($_POST['text']));
    $find_string=$_POST['find'];  //assign the value to be found to the variable
    $replace_string=$_POST['replace']; //assign the value to be replaced

    if(empty($paragraph)){
      echo 'No text to search for.';
    }
    elseif(empty($find_string)){
      echo 'Enter some text to find.';
    }
    elseif(empty($replace_string)){
      echo 'Enter some text to replace with.';
    }
    else{
      echo str_replace($find_string, $replace_string, $paragraph);
   }
}
?>
<form action='' method='POST'>
   <textarea name='text' rows=20 cols=100 value='<?php echo $paragraph; ?>'></textarea
   <br />
   <label>Search For</label>
   <input name='find' value='<?php echo $find_string; ?>'></input>
   <br />
   <label>Replace with</label>
   <input name='replace' value='<?php echo $replace_string; ?>'></input>
   <br />
   <button>Find and Replace</button>
</form>
4

2 回答 2

3

<textarea>没有value属性。提供如下内容:

<textarea name='text' rows='20' cols='100'><?php echo $paragraph; ?></textarea>

顺便说一句,右括号</textarea丢失了

于 2013-11-11T15:53:10.780 回答
1

您必须将输出放在 textarea 打开和关闭标签的中间:

<textarea name='text' rows=20 cols=100><?php echo $paragraph; ?></textarea>
于 2013-11-11T16:46:57.960 回答