替换 php 中的 %namn%

replacing %namn% in php

我想用我在文本字段中输入的内容替换 %namn%。示例:

我正在文本字段中输入 Josh,我希望 %namn% 是 Josh 等等。 我有一些静态的东西,你可以在下面看到它们是随机的:$first$second$third.

Bongo tycker att %namn% är ett fint namn! Bongo hade gärna känt %namn% och bjudit %namn% på bananer! Bananer är gott tycker Bongo! Bongo tycker att $stad är fint

转换为:

Bongo tycker att Josh är ett fint namn! Bongo hade gärna känt Josh och bjudit Josh på bananer! Bananer är gott tycker Bongo! Bongo tycker att stad är fint

这是我目前的代码:

<?php
$first = 'Bongo tycker att %namn% är ett fint namn! Bongo hade gärna känt %namn% och bjudit %namn% på bananer! Bananer är gott tycker Bongo! Bongo tycker att stad är fint';
$second = 'Bongo Vet att %namn% vill ha en sak! om Bongo hade kunnat så Hade Bongo gett %namn% en Banansak! Bongo tycker att %namn% presterade bra i skolan! %namn% är BÄST!';
$third = 'Bongo ÄLSKAR %namn%s musiksmak! Bongo hade gärna delat en banan samtidigt som Dem lyssnade på musik ihop! %namn%s motto stämmer helt och hållet med Bongos!';
$array = array($first, $second, $third);
echo $array[array_rand($array)];
?>

可以使用php的str_replace功能:

$first = 'Bongo tycker att %namn% är ett fint namn! Bongo hade gärna känt %namn% och bjudit %namn% på bananer! Bananer är gott tycker Bongo! Bongo tycker att stad är fint';
echo str_replace('%namn%', 'Conny', $first);

或者如果这对你不起作用,你也可以使用 sprintf:

$first = 'Bongo tycker att %1$s är ett fint namn! Bongo hade gärna känt %1$s och bjudit %1$s på bananer! Bananer är gott tycker Bongo! Bongo tycker att stad är fint';
echo sprintf($first, 'Conny');

两者都为我工作。

更新: 不太确定我是否理解正确。您想随机 select 三个字符串之一,然后替换该字符串中的名称吗?

$first = 'Bongo tycker att %namn% är ett fint namn! Bongo hade gärna känt    %namn% och bjudit %namn% på bananer! Bananer är gott tycker Bongo! Bongo tycker att stad är fint';
$second = 'Bongo Vet att %namn% vill ha en sak! om Bongo hade kunnat så Hade Bongo gett %namn% en Banansak! Bongo tycker att %namn% presterade bra i skolan! %namn% är BÄST!';
$third = 'Bongo ÄLSKAR %namn%s musiksmak! Bongo hade gärna delat en banan samtidigt som Dem lyssnade på musik ihop! %namn%s motto stämmer helt och hållet med Bongos!';
$array = array($first, $second, $third);
echo str_replace('%namn%', 'Josh', $array[array_rand($array)]);

更新: 好的 :),首先阅读本教程:HTML Forms。 您可以通过 $_POST 变量访问提交的变量。试试这个:

<?php
    if(isset($_POST['name']))
    {
        $name = $_POST['name'];

        $first = 'Bongo tycker att %namn% är ett fint namn! Bongo hade gärna känt    %namn% och bjudit %namn% på bananer! Bananer är gott tycker Bongo! Bongo tycker att stad är fint';
        $second = 'Bongo Vet att %namn% vill ha en sak! om Bongo hade kunnat så Hade Bongo gett %namn% en Banansak! Bongo tycker att %namn% presterade bra i skolan! %namn% är BÄST!';
        $third = 'Bongo ÄLSKAR %namn%s musiksmak! Bongo hade gärna delat en banan samtidigt som Dem lyssnade på musik ihop! %namn%s motto stämmer helt och hållet med Bongos!';
        $array = array($first, $second, $third);
        echo str_replace('%namn%', $name, $array[array_rand($array)]);
    }
?>

<form action="" method="post">
    <input type="text" value="" name="name" />
    <input type="submit" value="submit" />
</form>

您也可以将 php-code 放入单独的 .php-File 并在表单元素的 action-attribute 中定义。例如。 php 文件名为 replace.php:

<form action="replace.php" method="post">
    <input type="text" value="" name="name" />
    <input type="submit" value="submit" />
</form>

希望对你有帮助^^