업데이트이 내가 여기 이상한 일이있어 Laravel 5.2 & 5.3Laravel (5.2) Blade - 전자 메일 주소의 Blade Directive가 구문 분석되지 않게하는 방법은 무엇입니까?
의 버그입니다. 클라이언트 시스템의 사용자 이메일 주소에는 '@parent'라는 하위 문자열이있는 도메인이 있습니다. 나는 사생활을 위해서 모든 것을 포함하지 않습니다.
@parent
이 블레이드 지시문이므로 Laravel은 @parent
을 처리하거나 무시하고 페이지의 렌더링 된 전자 메일 주소에서 제거합니다.
예를 들어, 이메일 주소가 [email protected]
이라고 가정 해 봅니다. Laravel이 페이지에서 다음을 렌더링합니다 : johnstuff.com
. 이메일에서 @parent
을 어떻게 제거하는지 확인하십시오. 나는 그것을 해결하기 위해 노력했습니다 무엇
는 :
1. {!! $user->email !!}
2. {{ e($user->email) }}
나는 AJAX & jQuery를이 같은 이메일 주소로 내용이 다른 사이트에 잘 표시됩니다 렌더링으로이 블레이드에 문제가 있음을 알고있다. 추가 조사시
UPDATE
는,이 블레이드는 @parent 지시어를 처리하는 방법에 버그가있을 수 있습니다 나타납니다. 나는 5.2, 5.3, 5.4 버전을 위해 3 개의 새로운 Laravel 프로젝트를 만들었다. 해당 프로젝트는 Laravel 5.2 프로젝트 (FYI)입니다.
버그를 테스트하기 위해 위에서 언급 한 각 버전에 대해 다음 설치 프로그램을 만들었습니다.
경로
Route::get('/test', function() {
$foo = '[email protected]';
return view('test')->with('foo', $foo);
});
템플릿
자료
<html>
<head>
<title>App Name - @yield('title')</title>
</head>
<body>
<div class="container">
@yield('content')
</div>
</body>
</html>
시험보기
,363,210@extends('test-base')
@section('content')
{{$foo}}
@endsection
출력
- L5.2 : johningstuff.org
- L5.3 : johningstuff.org
- L5.4 : [email protected]
이론
이 테스트를 실행하는 동안 주목할만한 한 가지 흥미로운 사례는 @section 지시문의 내부에서 {@ $ section} 지시문의 바깥 쪽을 {{$ foo}} 변수로 변경하면 두 개의 다른 출력으로 이어지는 것입니다.
예
{{$foo}}
@section('content')
{{$foo}}
@endsection
이것의 출력되었다 ...
- [email protected]
- johningstuff.org
결론,그래서 누군가 Laravel 5.2 또는 Laravel 5.3에서이 버그를 패치하는 방법을 알고 있습니까? 현재 L5.4로 업그레이드하는 것은 고객을위한 옵션이 아닙니다.
누구나 도움이 될만한 영리한 트릭이 있습니까?
마르신은, 위의 내 업데이 트를 참조하십시오. 추가 조사가 이루어지면 실제로 버그 일 수 있습니다. – Panda4Man
처음에 Laravel 버전에 대해 작성해야합니다. 아마도 버그 일 것이지만 이전 버전은 더 이상 지원되지 않습니다. 이제 우리는 5.5 LTS를 가지고 있습니다. 항상 최신 버전을 사용하거나 최신 LTS –