在我正在构建的Symfony Web应用程序上,我的所有HTML页面标题都有一个&符号。然而,Symfony正在逃避&符号,我的头衔看起来像这样:
<title>Home - Wallace &amp;amp; Gromit., Inc.</title>
我的观点YAML使用未转义的&符号定义标题:
default:
...
metas:
...
title: Wallace & Gromit., Inc.
我已经在layout.php中使用include_title()函数尝试了各种转义策略,但似乎没有任何工作。
<head>
<?php include_http_metas() ?>
<?php if (has_slot('title_prefix')): ?>
<?php $sf_context->getResponse()->setTitle(get_slot('title_prefix') . ' - ' . $sf_context->getResponse()->getTitle(ESC_SPECIALCHARS)) ?>
<?php endif; ?>
<?php include_metas() ?>
<link rel="icon" href="/favicon.ico" type="image/x-icon" />
<?php include_stylesheets() ?>
<!--[if IE 7]><link rel="stylesheet" type="text/css" href="css/screen_ie.css" /><![endif]-->
<?php include_javascripts() ?>
<?php include_title(ESC_SPECIALCHARS) ?>
</head>
有什么想法吗?
答案 0 :(得分:1)
setTitle()方法有一个用于转义标题的默认参数。它看起来像这样:
setTitle($title, $escape = true)
如果使用setTitle()的默认参数,则不应该转义对getTitle()的调用。尝试使用ESC_RAW而不是ESC_SPECIALCHARS。