0

謎の問題があります。次のようなphp言語配列があります。

$lang['tip1054'] = '<b>Resource Error:</b>%s <br />
<b>OS:</b> %s <br />
<b> Ram:</b> %s <br />
<b> CPU:</b> %s <br />
';

関数が次のように使用される JavaScript によって記述されたツールチップで表示します。

<span class='haveHelp' onMouseOver="ShowTip(' <?php printf ($lang['tip1054'],$error,$os,$ram,$cpu); ?> ')"> </span>

しかし、それは何も示していません。firebug を使用して、問題が何であるかを確認しました。このエラーに直面しました:

SyntaxError: unterminated string literal
[Break On This Error] 

ShowTip('<b>Resource Error:</b> 1054

これは HTML 出力です。

<span class='haveHelp' onMouseOver="ShowTip('<b>Resource Error:</b>1054 <br />
<b>OS:</b> Windows Xp <br />
<b> Ram:</b> 1024MB <br />
<b> CPU:</b> Corei7-5130 <br />')">Error 1054</span>
4

2 に答える 2

0

JavaScriptでは文字列に改行を入れることはできません。str_replace("\n", '', $lang...)または何かを使用してPHPでそれらを取り除きます。

于 2012-10-01T01:33:40.720 に答える
0

printfA.引数が完全ではないため、4 %s置き換える必要があります$lang['tip1054']

printf ($lang['tip1054'],$os,$ram,$cpu);

printf ($lang['tip1054'],"Fist Message", $os,$ram,$cpu);

B.すべての空白と改行を削除する必要があります

$lang['tip1054'] = trim($lang['tip1054']);
$lang['tip1054'] = str_replace(array("\r","\n"), "", $lang['tip1054']);

デモを見る

于 2012-10-01T01:35:50.980 に答える