HTML字符串到PHP变量而不会丢失IDE语法突出显示

时间:2016-01-22 17:09:41

标签: php html

我想在PHP变量中添加一个非常大的HTML字符串。当我执行import vtk import math view = vtk.vtkContextView() view.GetRenderer().SetBackground(1.0, 1.0, 1.0) view.GetRenderWindow().SetSize(400, 300) chart = vtk.vtkChartXY() view.GetScene().AddItem(chart) chart.SetShowLegend(True) table = vtk.vtkTable() arrX = vtk.vtkFloatArray() arrX.SetName('X Axis') arrC = vtk.vtkFloatArray() arrC.SetName('Cosine') arrS = vtk.vtkFloatArray() arrS.SetName('Sine') arrT = vtk.vtkFloatArray() arrT.SetName('Sine-Cosine') table.AddColumn(arrC) table.AddColumn(arrS) table.AddColumn(arrX) table.AddColumn(arrT) numPoints = 40 inc = 7.5/(numPoints-1) table.SetNumberOfRows(numPoints) for i in range(numPoints): table.SetValue(i, 0, i*inc) table.SetValue(i, 1, math.cos(i*inc)) table.SetValue(i, 2, math.sin(i*inc)) table.SetValue(i, 3, math.sin(i*inc)-math.cos(i*inc)) points = chart.AddPlot(vtk.vtkChart.POINTS) points.SetInput(table, 0, 1) points.SetColor(0, 0, 0, 255) points.SetWidth(4.0) points.SetMarkerStyle(vtk.vtkPlotPoints.DIAMOND) #CROSS, SQUARE, CIRCLE... points = chart.AddPlot(vtk.vtkChart.POINTS) points.SetInput(table, 0, 2) points.SetColor(0, 0, 0, 255) points.SetWidth(1.0) points.SetMarkerStyle(vtk.vtkPlotPoints.PLUS) points = chart.AddPlot(vtk.vtkChart.POINTS) points.SetInput(table, 0, 3) points.SetColor(0, 0, 255, 255) points.SetWidth(1.0) points.SetMarkerStyle(vtk.vtkPlotPoints.CIRCLE) view.GetRenderWindow().SetMultiSamples(0) view.GetInteractor().Initialize() view.GetInteractor().Start() 之类的操作时,字符串将变为灰色,而正常突出显示不再有效。我想使用一些PHP来构建HTML,但大部分都将直接编码到文件中。我无法回应它需要在变量中传递给函数的HTML。

$html = "<div>info</div>";之外还有其他方法可以将数据分配给变量,以便我能够保持语法高亮。我的想法是某种语法,它允许我关闭PHP标记,但不会输出内容,而是将输出保存到变量。

$html = "";

我理解这是不可能的,因为服务器不会读取PHP标签之外的任何行,但它只是一个例子来了解我正在尝试做的事情。

编辑 我也想过使用

?$html>
<div>content</div>
<?php

这会浪费,因为它会为PHP页面创建另一个HTTP请求。页面需要是PHP才能动态构建一些HTML

1 个答案:

答案 0 :(得分:1)

您可以对ob_startob_get_clean使用输出缓冲:

<?php
ob_start();
?>
<html>
... all your html comes here
</html>
<?php
$html = ob_get_clean();
?>

在上面的代码末尾,没有任何内容输出到浏览器,但 $ html 变量将包含内容。