我希望有一个简单的HTML输入字段,人们可以输入各种废话。例如,用户键入:"您好,我是Nicky"。当用户然后单击发送按钮时,我想要一个简单的PHP脚本来替换单词" Nicky"到" Nicki"并将其显示给用户。所以基本上,只是一个简单的PHP脚本,它替换输入字段中的特定单词,然后打印出用户输入的完全相同的行,除了显示Nicki而不是Nicky。
我怎样才能以最简单的方式实现这一目标?
我的代码现在看起来像这样:
<?php
$_POST['name'] = str_replace("Nicky","Nicki",$_POST['name']);
?>
<form method="post">
<input type="text" name="name">
<input type="submit">
</form>
答案 0 :(得分:1)
<?php
if(isset($_POST['form-action']) && $_POST['form-action'] == "submit-form"){ // form has been submitted
echo "<p>BEFORE: ".$_POST['name']."</p>"; // what the user entered "Nicky"
$_POST['name'] = str_replace("Nicky","Nicki",$_POST['name']); // find/replace Nicky with Nicki
echo "<p>AFTER: ".$_POST['name']."</p>"; // what the $_POST['name'] now is
}
?>
<form method="post">
<input type="text" name="name" value="Nicky">
<input type="submit">
<input type="hidden" name="form-action" value="submit-form">
</form>
除此之外,如果你想扩展Find&amp;替换变量,你可以使用数组:
$FindReplace = array("Nicky"=>"Nicki", "Blue"=>"Red"); // build an array of find/replace variables
....
foreach($_POST as $Name=>$Value){
echo "<p>Before: ".$Name."=".$Value."</p>"
foreach($FindReplace as $Find=>$Replace){
$Value = str_replace($Find,$Replace,$Value);
}
echo "<p>After: ".$Name."=".$Value."</p>"
}