我目前的解决方案有时会很糟糕
修改
对于那些不理解的人,请看这个例子:
<a title="<?php echo 'test';?>" >...
答案 0 :(得分:2)
试试这个:
<a title="<?php echo htmlentities($title); ?>">
答案 1 :(得分:2)
由于您输出的是HTML,因此您需要将特殊字符转换为HTML实体,这样您就不会与HTML和实际内容发生任何冲突。
在你的例子中,(我认为)你试图说<a title="<? echo 'test"'; ?>">
,并且因为有额外的引号而会出现问题。
所以你只需使用PHP函数htmlspecialchars
将它们转换为正确的"
:
<a title="<? echo htmlspecialchars('test"'); ?>">
答案 2 :(得分:0)
您可以使用模板引擎,例如Smarty。
但我更喜欢自己的小动作。我实际上使用全局变量,在配置文件中设置网站范围的变量和常量。
e.g。
$title = 'My site';
$keywords = 'my site';
$description = 'welcome';
$javascript = array('jquery.js', ...);
$css = array('default.css');
define('SITE_URL', 'http://localhost/');
define('ABSPATH', dirname(__FILE__));
...
我的模板将使用上述变量写出HTML。
答案 3 :(得分:0)
<a title="<?php echo 'test'; ?>">
这就是你要找的东西吗?
答案 4 :(得分:0)
我只能用一点点提供一般信息。我能说的最好的是,如果你将PHP变量值插入HTML,你可能想要使用内置的模板输出。
echo <<<TEMPLATE
<a href="http://stackoverflow.com" title="{$title}">Stackoverflow</a>
TEMPLATE;
这更清晰,更易于管理。