什么是实现title =“<! - ?php echo $ title? - >”的完美解决方案

时间:2009-10-28 06:11:12

标签: php html

我目前的解决方案有时会很糟糕

修改

对于那些不理解的人,请看这个例子:

<a title="<?php echo 'test';?>" >...

5 个答案:

答案 0 :(得分:2)

试试这个:

<a title="<?php echo htmlentities($title); ?>">

答案 1 :(得分:2)

由于您输出的是HTML,因此您需要将特殊字符转换为HTML实体,这样您就不会与HTML和实​​际内容发生任何冲突。

在你的例子中,(我认为)你试图说<a title="<? echo 'test"'; ?>">,并且因为有额外的引号而会出现问题。

所以你只需使用PHP函数htmlspecialchars将它们转换为正确的&quot;

<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;

这更清晰,更易于管理。