2009-10-28 76 views
-3

我目前的解決方案會吸有時什麼是完美的解決方案,以實現標題=

編輯

對於那些誰不明白,看看這個例子:

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

按照給定的這個小細節,不要指望任何答案。 – janosrusiczki 2009-10-28 06:13:13

+2

你能描述它在不能正常工作時的功能嗎? – pavium 2009-10-28 06:13:43

+1

或者至少當它正常工作時應該做什麼? – 2009-10-28 06:16:47

回答

2

試試這個:

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

爲什麼'htmlentities'而不是'htmlspecialchars'? – 2009-10-28 06:23:12

+1

哦,只是因爲這是我習慣了,因爲它也斯堪的納維亞的字符轉換爲實體。 – Kaivosukeltaja 2009-10-28 06:59:25

0

您可以使用模板引擎,如Smarty。

但我更喜歡我自己的小竅門。我實際上使用全局變量,在一個配置文件中我設置了站點變量和常量。

例如

$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。

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

這就是你想要的?

0

我只能放棄了那個小的一般信息。我可以說最好的是,如果您將PHP變量值插入HTML,您可能希望使用內置模板進行輸出。

echo <<<TEMPLATE 
<a href="http://stackoverflow.com" title="{$title}">Stackoverflow</a> 
TEMPLATE; 

這更清晰,更易於管理。

2

既然你輸出到HTML,你需要特殊字符轉換爲HTML實體,所以你不會有HTML和實​​際內容的任何衝突。

在你的榜樣,(我覺得)你想說<a title="<? echo 'test"'; ?>">,並且會有,因爲額外的引號的問題。

所以,你只需將它們轉換爲正確&quot;,用PHP函數htmlspecialchars

<a title="<? echo htmlspecialchars('test"'); ?>">

相關問題