PHP搜索/替换字符串中的单词,并仅更改替换单词的字体颜色

时间:2019-07-12 12:39:54

标签: php

我有一个文本框,一个搜索字段和一个替换字段。我想执行搜索并替换文本框中的文本,并更改​​任何替换单词的字体颜色。我希望所有未替换的单词都保持它们在执行搜索/替换之前的字体颜色。

尽管我在这头上挠头。这是到目前为止我得到的代码:

<body>

  <form id="form1" name="form1" method="post" action="">

    <p><br/>
      <textarea name="textarea" id="textarea" cols="70" rows="10">
        <?php
            if(isset($_POST["submit"])) {
                $search = $_POST["search"];
                $replace = $_POST["replace"];
                $textarea = $_POST["textarea"];

                $newtext = str_replace($search,$replace,$textarea);
                echo $newtext;
            } 
        ?>
    </textarea>
    </p>

    <p>
      <label for="search">Search :</label>
      <input type="text" name="search" id="search" />
    </p>

    <p>
      <label for="replace">Replace</label>
      <input type="text" name="replace" id="replace" />
    </p>

    <p><br/>
      <input type="submit" name="submit" id="submit" value="Submit" />
      <label for="textarea"></label>
    </p>

  </form>

</body>

1 个答案:

答案 0 :(得分:0)

您不能在文本区域内更改文本的颜色。

但是您可以将其作为文本回显:

<?php
    if(isset($_POST["submit"])) {
        $search = $_POST["search"];
        $replace = '<span style="color: #F00;">' . $_POST["replace"] . '</span>';
        $textarea = $_POST["textarea"];

        $newtext = str_replace($search,$replace,$textarea);
        echo $newtext;
    } 
?>