Преобразование элементов массива в настраиваемую строку с помощью PHP-Symfony

Я пытаюсь передать элементы массива в файл ветки. После того, как он будет передан, код html (в js) должен выглядеть так:

var states = ['car','van','bus']

Для этого я использовал следующий код, используя php symfony

/**
 * @Route("/test", name = "test")
 */
public function testAction(Request $request)
{
    $products=$this->getDoctrine()->getRepository(products::class)->findAll();
    $pr_name=array();
    foreach ($products as $product){
        $name=$product->getName();
        array_push($pr_name,$name);

    }

    $pr_name2 = "'".implode("','",$pr_name)."'";
    dump($pr_name2);
    exit;

    return $this->render('typeahead.html.twig', array(
        'pr_name'=>$pr_name2,
    ));

}

Мой файл Twig

<script>
 var substringMatcher = function(strs) {
    return function findMatches(q, cb) {
        var matches, substringRegex;

        // an array that will be populated with substring matches
        matches = [];

        // regex used to determine if a string contains the substring `q`
        substrRegex = new RegExp(q, 'i');

        // iterate through the pool of strings and for any string that
        // contains the substring `q`, add it to the `matches` array
        $.each(strs, function(i, str) {
            if (substrRegex.test(str)) {
                matches.push(str);
            }
        });

        cb(matches);
    };
};

var states = [{{ pr_name }}]

$('#the-basics .typeahead').typeahead({
        hint: true,
        highlight: true,
        minLength: 1
    },
    {
        name: 'states',
        source: substringMatcher(states)
    });

Но я получаю это Преобразование элементов массива в настраиваемую строку с помощью PHP-Symfony

Как это исправить?

попробуйте это: var states = [{{ pr_name | join(',') }}]

Saeed M. 22.11.2018 09:16

Вам нужно будет применить фильтр raw, так как ваш вывод экранируется

DarkBee 22.11.2018 09:18
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
2
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Попробуйте заменить

var states = [{{ pr_name }}]

с участием

var states = [{{ pr_name|raw }}]

Другие вопросы по теме