일부 선택 옵션 내에 하드 공간 (
)이 있습니다. 여하튼, 어디 선가, 그들은 도망 가고 있습니다. 에Symfony2 Formbuilder가 자동으로 이스케이프 처리합니까?
{% autoescape false %}
{{ form_widget(foobar) }}
{% endautoescape %}
뿐만 아니라
{{ form_widget(foobar)|raw }}
등을 그리고 선택 필드는 여전히 대신 Choice Text Here
의 Choice Text Here
로 렌더링됩니다 그러나 config.yml
autoescape: false
에서 나뭇 가지 아래에 다음과 : 나는 시도 인코딩 된 소스  Choice Text Here
나는이 :
$form ->add('foo', 'choice', array(
'label' => 'Foo Label',
'choices' => $fooChoices,
'required' => true));
$form = $form->getForm();
$foobar = $form->createView();
내가 print_r
$fooChoices
내가 할 경우 나에게 적절한
(60 년대의 앞의 두 배의 공간을 유의)를 보여줍니다
Array ([1] => 60# FooBar [5] => 60# BatBar [11] => 60# DooWop)
. FormBuilder와 렌더링 사이의 어떤 곳에서 도망 가고 있습니다.
Form Builder 내에 내장 된 이스케이프가 있습니까?
제가 추론 한 점은 양식보기가 $form->createView()
을 통해 렌더링된다는 점을 통해 데이터가 여전히 이스케이프 처리되지 않았기 때문입니다. 그러나 form_widget을 통해 Twig에 도달 할 때까지는 탈출했습니다. form_widget(foobar)|raw
은 이것을 보여줍니다.
편집 : 답변으로 해결 방법을 추가했지만 초기 이스케이프가 모두 발생하지 않도록하는 방법을 설명하는 답변을 수락하는 데 여전히 관심이 있습니다. 아마
양식 위젯의 코드를 볼 수 있습니까? 그러한 기능은 없습니다. – Lusitanian
@ David 나는 내가 따를지는 잘 모릅니다. docs에 따라 양식을 렌더링하는 가장 간단한 방법을 사용하고 있습니다. http://symfony.com/doc/current/book/forms.html#rendering-the-form – Nick
형태, 모호한 것에 대해 유감스럽게 생각합니다. – Lusitanian