我试图从一个包含JSON对象的模板中创建内容。
获取并保存JSON数据
文本区域有文本:{$ob-
文本区域的值包含文本形式的对象变量的名称。
如何保存$ob-的价值
<form method="POST" name="varlines_form" action="">
<textarea name="varlines">
apple
101
space
</textarea>
<br />Tpl<br>
<textarea name="template">
{$obj->q} and some text ...
</textarea><br />
<input type="submit" />
</form>
<?php
$newcontent ="";
if((!empty($_POST)) && (isset($_POST['varlines']))){
$txtstring = trim($_POST['varlines']);
$kws = preg_split('/[\n\r]+/', $txtstring);
$kws = array_filter($kws, 'trim'); // remove any extra \r characters left behind
$tplhtml = $_POST['template'];
// Loop through each keywords in array (keyword/key phrase)
foreach($kws as $kword){
$q = $kword;
// test json url
$tmp = "http://echo.jsontest.com/key/value/q/$q";
$json = file_get_contents($tmp);
$obj = json_decode($json);
echo "inside loop: ";
echo $obj->q;
echo " <br />";
// get template
// htmltpl
// identify {tags}
// replace {tags} with $result[obj] values
// variable of variables
$html = $$tplhtml;
// add results
$newcontent .= $html;
}
}
echo $newcontent;
?>
使用value函数将字符串求值为PHP代码。
使用eval
是解决这个问题的非常不安全的方法:什么时候在php中eval是邪恶的?
一种解决方案是使用preg_replace_callback
函数,用regex找到您想要的格式,并用自定义函数替换它。
preg_replace_callback
函数执行正则表达式搜索并使用回调替换。https://www.php.net/manual/en/function.preg-replace-callback.php
只需要用以下行替换行$html=$$tplhtml;
:
$html = preg_replace_callback('/\{\$obj->(.+)\}/i', function ($match) use($obj) { return $obj->{$match[1]}; }, $tplhtml);
问题内容: 我正在尝试读取Firestore文档的值。我尝试了两种不同的方法,但是每种方法都失败了。在第一个中,在返回行上引发错误。我发现了发生这种情况的原因,因此,我实现了第二种方法。 在第二种方法中,我将分配给变量,然后在函数末尾返回该变量(请参见下面的代码)。但是,当我这样做时,该函数将返回一个空数组。让我惊讶的是,打印返回了正确的值,但是在函数执行了return语句后不久。是否因为它是异步
问题内容: 在上面,这是硬代码。我想将 变量 分配 给值。即,均值=注册; 让我知道! 问题答案: 您的问题不是很清楚。我假设变量是在Servlet中声明的,因为在JSP中使用Java是一种不好的做法。为了能够在转发到JSP的Servlet之间共享变量,您需要将此变量设置为request属性: 然后在JSP中,您可以使用JSP EL获得“ registration”属性的值: 您应该阅读Java
问题内容: 我正在使用Spring MVC。我有一个带有很多静态变量的注释类。我想使用application.properties文件中的值实例化它们。 例如在中,我有: 然后在课堂上是: 我得到了 我也尝试过 接着: 它给出了相同的错误。 问题答案: 你不必在静态字段中保留任何属性。 你不知道何时修改此静态字段 你不知道哪个线程修改了它的价值 任何时候任何线程都可以更改此静态字段的值,并且你被拧
问题内容: 我正在使用以下代码: 该值不警报。怎么了 问题答案: 实质上:
问题内容: 嗨,我正在使用Java Optional。我看到Optional有一个ifPresent方法。 而不是做类似的事情: 我想知道如何使用Optional.ifPresent()将值分配给变量。 我正在尝试类似的东西: 我需要lambda函数来获取分配给该变量的值是什么? 问题答案: 您可以使用#orElse或orElseThrow来提高代码的可读性。
我是helm的新手,我希望能够使用配置映射和共享环境变量将gitlab项目变量写入文件。 我为每个环境(其中