【发布时间】:2013-11-22 20:28:33
【问题描述】:
我将内容存储在变量中,并且我有一个用户在搜索字段中输入的字符串。
我的问题是如何在搜索到的字符串前后截断文本?
-SearchString 有一个用户输入的值。
-Wholetext 拥有数据库中的全部数据。
现在,我想将Wholetext 显示为摘录,例如用户搜索“test”,然后我将显示如下结果:
“搜索字符串前的文本”:“测试”
“搜索字符串后的文字”:“_”
这是我的代码:
{% block field %}
<div>
{% set SearchString=admin.datagrid.filters.data.value.value %}
<div class="less_resume_container">
{% if SearchString is defined and SearchString in object.data %}
{% set Wholetext= object.data|replace({ (SearchString): '<span style="background-color: #FFFF00;font-size:15px;font-weight:bold">' ~SearchString~'</span>'}) %}
{{ Wholetext|striptags()|truncate(50) }} <a href="javascript:void(0)" class="show_full_resume">Show
more</a>
{% else %}
{% set Wholetext= object.data %}
{{ Wholetext|truncate(50) }} <a href="javascript:void(0)" class="show_full_resume">Show more</a>
{% endif %}
</div>
<div class="full_resume_container" style="display: none;">{{ Wholetext|raw() }}
<a href="javascript:void(0)" class="show_less_resume">View less</a>
</div>
<br/>
</div>
{% endblock %}
目前它显示文本中的 50 个字符。 这不是我想要的。顺便说一句,我正在使用带有 symfony 2 的奏鸣曲管理员。
【问题讨论】:
标签: php symfony twig sonata-admin symfony-sonata