使用字符串中的信息替换PHP中的字符串

时间:2016-02-09 19:45:50

标签: php html

我现在的客户的目标是关闭文本查看器,同时保持某些变量对客户开放。这是为了显示文本的预览,而不是依赖于客户端的整个文本。目前,我想到了一个包含输入元素的表单。这些元素将动态填充到文本中的某些跨度中,以便客户端能够看到预览。提交表单时,服务器端将使用输入替换标识符。

我目前的想法是让我的客户端创建一个包含标识符的文本,客户端可以填写或显示复选框。所有这些元素都存储在一个mysql数据库中,这可能导致如下所示:

You are thinking about %el1%, and you want to create %el2%. %bl3%

这是使用以下输入。

<input type="text" name="el1">
<input type="text" name="el2">
<input type="checkbox" name="bl3">

要用A替换这些标识符,可以用Javascript和B改变的元素可以在完整文档中用PHP替换。

You are thinking about <span id="el1"></span>, and you want to create <span id="el2"></span>. <span id="bl3" style="display:none;">This is a text that is retrieved from the database, and shown when the user checks the checkbox</span>

我根本不知道这是不是一个好主意,但客户希望这样做。这样,客户端无法编辑全文,只能输入某些输入。我将验证这些客户端和服务器端。

这是个好主意吗?如果不是,我该怎么办呢?如果是,我如何创建一个循环,根据%el1%或%bl3%找到这些标识符,并用<span>标签或提交的变量替换它们?

2 个答案:

答案 0 :(得分:3)

$phrase  = "You are thinking about %el1%, and you want to create %el2%. %bl3%.";
$healthy = array("%el1%", "%el2%", "%bl3%");
$yummy   = array("el1", "el2", "bl3");
$newphrase = str_replace($healthy, $yummy, $phrase);

答案 1 :(得分:1)

您还可以使用sprintf()

$output = sprintf(
    "You are thinking about %1$s, and you want to create %2$s. %3$s",
    $el1, $el2, $bl3
);

%1$s将替换为$el1等的值