在一个文本中查找并替换应用程序 - F& R多个字符串

时间:2017-05-26 09:29:26

标签: php replace

平。我非常感谢对此有所帮助。我正在创建一个非常简单的“查找和替换”应用程序来生成链接。我正在使用下面的代码来执行此操作。

它现在用我喜欢的任何东西取代“巧克力”这个词。但我也想通过按下相同的按钮来改变同一文本中的其他单词。

Forexample;如果我想将“爱”改为“讨厌”。

我该怎么做?感谢我能得到的所有帮助。

<?php
$offset=0;
if(isset($_POST['text']) && isset($_POST['searchfor']) && isset($_POST['replacewith']))
{
$text=$_POST['text'];
$search=$_POST['searchfor'];
$replace=$_POST['replacewith'];
$search_length=strlen($search);
    if(!empty($text)&&!empty($search)&&!empty($replace))
    {
        $strpos=strpos($text,$search);
$text=substr_replace($text,$replace,$strpos,$search_length);
echo $new = str_replace(' ', '%20', $text);

    }
    else
    {
    echo 'pls fill in all fields';
    }
}

?>
<form action='index.php' method='POST'>
<textarea name='text' style="display:none;" rows='6' cols='30'>http://andy.com/loves/chocolate/cake</textarea><br><br>
<input type='hidden' value= 'chocolate' name='searchfor'><br><br>
Replace the word chocolate with:</br>
<input type='text' name='replacewith'><br><br>
<input type='submit' value='find and replace'>
</form>

1 个答案:

答案 0 :(得分:0)

您可以在str_replace中使用数组,因此此代码将在输入字段中使用2个逗号分隔的值进行操作:

    $offset=0;
if(isset($_POST['text']) && isset($_POST['searchfor']) && isset($_POST['replacewith']))
{
    $text=$_POST['text'];
    $search=explode(",",$_POST['searchfor']);
    $replace=explode(",",$_POST['replacewith']);
    var_dump($replace);

    $text=str_replace($search,$replace,$text);
    echo $text;
}

<form action='#' method='POST'>
<textarea name='text' style="display:none;" rows='6' cols='30'>http://andy.com/loves/chocolate/cake </textarea><br><br>
<input type='hidden' value= 'chocolate,cake' name='searchfor'><br><br>
Replace the word chocolate with:</br>
<input type='text' name='replacewith'><br><br>
<input type='submit' value='find and replace'>

如果要使用2个(或更多)输入字段,请使用以下代码:

$offset=0;
if(isset($_POST['text']) && isset($_POST['searchfor']) && isset($_POST['replacewith']))
{
    $text=$_POST['text'];
    $search=explode(",",$_POST['searchfor']);
    $replace=array($_POST['replacewith'],$_POST['replacewith2']);
    var_dump($replace);

    $text=str_replace($search,$replace,$text);
    echo $text;
}


<form action='#' method='POST'>
<textarea name='text' style="display:none;" rows='6' cols='30'>http://andy.com/loves/chocolate/cake </textarea><br><br>
<input type='hidden' value= 'chocolate,cake' name='searchfor'><br><br>
Replace the word chocolate with:</br>
<input type='text' name='replacewith'><br>
Replace the word cake with:</br>
<input type='text' name='replacewith2'><br><br>
<input type='submit' value='find and replace'>