在将长连接变量转换为文档时遇到麻烦


Trouble turning long concatenated variable into heredoc

$eventDropdowns ="<form method = ''get'' action = ''changer.php''>";
$eventDropdowns.="<select name = ''change_event'' class = ''dropdown'' id = ''change_event''><option value = ''''>Failed loading records</option></select>";
$eventDropdowns.="<select name = ''event'' class = ''dropdown'' id = ''event''><option value = ''''>Failed loading records</option></select>";
$eventDropdowns.="<input  name = ''return'' type =''hidden'' value = ''{$_SERVER['REQUEST_URI']}''>";
$eventDropdowns.="<input type =''submit'' value = ''CHANGE!''>";
$eventDropdowns.="</form>";

我相当确定引用风格必须是'',因为它被放置在脚本中,因为它被'包围,它发生在PHP中;PHP调用Javascript会变得很乱。

我不确定这是否是我无法将这个丑陋的连接变量转换为heredoc的原因。

echo "
  <div id = '"test'" 
  ondblclick = '"document.getElementById('test').innerHTML = '$eventDropdowns';'">
    Change Event
  </div>
";

当我将$evenDropdowns转换为heredoc时,整个页面只是加载空白,没有错误。但是,当我让它保持原样时,它就像我想的那样工作,当您双击div中的文本时,它会弹出一个通过AJAX填充的表单,并将您发送到另一个页面进行编辑。

提前感谢。

我不知道你为什么会遇到麻烦。heredoc非常容易编写。您只需开始输出文本,就像您没有处于PHP模式一样,并且可以在文本中嵌入变量。没有转义,*除非你想输出一个文字$符号。

echo <<<EOL
<form method ="get" action="changer.php">
    <select name="change_event" class="dropdown" id="change_event">
         <option value="">Failed loading records</option>
    </select>
    <select name="event" class="dropdown" id="event">
         <option value="">Failed 
... etc...
EOL;