背景(非常简化):我有一个onlineshop和一个选择框。我有很多文章和许多选择框。因此我必须使用php为selectbox提供注释,以便它们在数据库中有所不同。
问题(也非常简化):当我加载数据集(我希望我拼写正确)时,我明显得到选择+评论。
问题(更简化):
我明白了:
<td>VariantXYZ <!-- randomID --></td>
显示如下(没有蓝色):
VariantXYZ <!-- randomID -->
问题:如何将评论转换为评论?^^
编辑:我之前尝试过preg_replace方法,但它对我没用,因为我忘记了我使用smarty; - )
我的代码如下:
[{foreach from=$orderArticles item=listitem}]
<tr>
<td valign="top" class="edittext" style="background-color:#e2d9d9; border: 1px solid #fff">[{ $listitem->oxorderarticles__oxamount->value }] * </td>
<td valign="top" class="edittext" style="background-color:#e2d9d9; border: 1px solid #fff"> [{ $listitem->oxorderarticles__oxartnum->value }]</td>
<td valign="top" class="edittext" style="background-color:#e2d9d9; border: 1px solid #fff"> [{ $listitem->oxorderarticles__oxtitle->getRawValue()|oxtruncate:20:""|strip_tags }][{if $listitem->oxwrapping__oxname->value}] ([{$listitem->oxwrapping__oxname->value}]) [{/if}]</td>
<td valign="top" class="edittext" style="background-color:#e2d9d9; border: 1px solid #fff"> [{ $listitem->oxorderarticles__oxselvariant->value }]</td>
[{if $edit->isNettoMode() }]
<td valign="top" class="edittext"> [{ $listitem->getNetPriceFormated() }] [{ $edit->oxorder__oxcurrency->value }]</td>
[{else}]
<td valign="top" class="edittext" style="background-color:#e2d9d9; border: 1px solid #fff"> [{ $listitem->getTotalBrutPriceFormated() }] [{ $edit->oxorder__oxcurrency->value }]</td>
[{/if}]
[{ if $listitem->getPersParams() }]
<td valign="top" class="edittext">
[{foreach key=sVar from=$listitem->getPersParams() item=aParam name=persparams}]
, <em>
[{if $smarty.foreach.persparams.first && $smarty.foreach.persparams.last}]
[{ oxmultilang ident="GENERAL_LABEL" }]
[{else}]
[{$sVar}] :
[{/if}]
[{$aParam}]
</em>
[{/foreach}]
</td>
[{/if}]
</tr>
[{/foreach}]
我想在$ listitem-&gt; oxorderarticles__oxselvariant-&gt;值上使用preg_replace,我这样做了:
[{$listitem = preg_replace( "/<!--(.|\s)*?-->/" , "###" , $listitem )}]
但它会删除$ listitem的所有字段。
我应该提到我首先使用smarty。对不起。
答案 0 :(得分:0)
我认为这可能与字符串的编码有关。您可以在将其输出到页面之前尝试此操作:
$text = html_entity_decode($text);
http://php.net/manual/en/function.html-entity-decode.php
这可能会有所帮助。但你真正需要做的是查看源代码,看看它到底有什么。另一种选择可能是:
$text = stripslashes($text);
http://uk3.php.net/manual/en/function.stripslashes.php
我真的不知道你的确切问题是什么。我也在Smarty文档中找到了这个:
http://www.smarty.net/docs/en/variable.escape.html.tpl
另一种改变字符编码方式的方法。你可以尝试:
{$variable nofilter}
看看是否有帮助。但这是一个有许多可能原因的问题,所以没有保证。您需要逐步跟踪数据以进行调试。