Функция ob_get make & to amp;

public function parseBlade($string, $param = null)
{
    app(\Illuminate\Contracts\View\Factory::class)
        ->share('errors', app(\Illuminate\Support\MessageBag::class));

    extract(app('view')->getShared(), EXTR_SKIP);
    $__env->incrementRender();

    if ($param) {
        extract($param, EXTR_SKIP);
    }
    unset($param);

    ob_start();
    eval('?>' . app('blade.compiler')->compileString($string));
    $content = ltrim(ob_get_clean());

    $__env->decrementRender();
    $__env->flushStateIfDoneRendering();

    return $content;
}

$text = $template->content;
$data = array(
    'token'=>$param['temporaryOrder']['token'],
    'user'=>$param['isUseImei']);
$url = http_build_query($data,'','&');
$obj->setViewData([
    'text' => $this->parseBlade($text,
    [
        'email' => $email, 
        'link' => config('frontend.ec_protocol') . $office->subdomain . config('frontend.ec_url') . '/order/registration?'. $url
    ]),
]);

После вызова ob_get_clean() он меняет & в ссылке на &. Есть ли способ решить эту проблему?

Я не Laravel, но он автоматически кодирует содержимое, передаваемое в представление, чтобы оно отображалось правильно?

mickmackusa 18.03.2022 03:32

Можете ли вы предоставить минимальный воспроизводимый пример, включив строку с образцом содержимого, а затем показать нам, какой результат вы получаете, а затем показать нам, какой именно результат вы ожидаете? Я бы, наверное, переименовал $url в $querystring для ясности кода.

mickmackusa 18.03.2022 03:53

я просто хочу конвертировать & в & в примере ссылки: token=uxsrL03fSgXB4iVORdyIq97DhpeZbFaC61kKYnvoAHt5T8PwN2WUjE‌​lmzJcQMG&user=1 to : token=uxsrL03fSgXB4iVORdyIq97DhpeZbFaC61kKYnvoAHt5T8PwN1WUjj

errors 18.03.2022 03:57

Я знаю, что вы спрашиваете, это просто, но если у Stack Overflow есть надежда получить правильные и информативные ответы, которые можно проверить как правильные, необходим минимальный воспроизводимый пример. Когда у вас будет эта информация, редактировать ваш вопрос; никогда не публикуйте детали вопроса в качестве комментария. Возможно, это проблема XY. Вы пытаетесь починить то, что не сломано? stackoverflow.com/a/62055171/2943403

mickmackusa 18.03.2022 03:58

Я просто новичок, и мой английский тоже не очень хорош. прости меня за это.

errors 18.03.2022 04:02

Они выглядят связанными: Laravel getQueryString() без &, laracasts.com/discuss/channels/laravel/…,

mickmackusa 18.03.2022 04:15
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать 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 и хотите разрабатывать...
0
6
23
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
$test = '&';

echo htmlspecialchars(htmlspecialchars($test));

В этом ответе отсутствует образовательное объяснение. Почему спрашивающий (и будущие исследователи) должен дважды вызывать одну и ту же функцию для входной строки?

mickmackusa 18.03.2022 03:30

@micmackusa, честно говоря, я понятия не имею, почему вы должны звонить дважды. Я просто знаю, что это работает;) Мне интересно услышать ваше объяснение :)

Niels 18.03.2022 03:44

@Niels благодаря тебе я нашел решение! Я ищу htmlspecialchars_decode()

errors 18.03.2022 03:54

На данный момент, @Niels, мое объяснение состоит в том, что спрашивающий пытается исправить то, что не сломано. Смотрите мою прокомментированную ссылку под вопросом на один из моих старых ответов.

mickmackusa 18.03.2022 04:04

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