У меня есть содержимое, хранящееся в переменных, и у меня есть строка, которую пользователи вводят в полях поиска.Как получить текст до и после определенной строки
Мой вопрос в том, как я могу нарезать текст до и после искомой строки?
- SearchString
имеет значение, введенное пользователем.
- Wholetext
имеет все данные из базы данных.
Теперь я хочу, чтобы показать Wholetext
как отрывок как пользовательский поиск для «теста», а затем я покажу результат, как:
«текст перед той строкой поиска»: «тест»
" текст после строки поиска»: "_"
Вот мой код:
{% 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 %}
В настоящее время я s показывает 50 символов из текста. Это не то, что я хочу. Кстати, я использую sonata admin с symfony 2.
спасибо за ответ, но как я могу реализовать это в веточке? Есть идеи –