阅读:4784回复:0
php的header函数在ff的执行问题?
在Firefox浏览器下,执行如下代码可显示SVG图像和MathML公式。问题如下:
1、将//echo $xml->asXML() 的注释去掉,出现"XML解析错误:xml处理指令不在实体开始部分 行:115,列12"; 2、将//echo $xml->asXML() 的注释去掉,在header('Content-type: application/xhtml+xml')前加注释,脚本可以执行,但svg图形不显示。 相关问题有无遇到,如何解决? 代码如下: ------------------------------------------------------------------------------------ <?php header ![]() echo ' <?xml version="1.0" encoding="utf-8"?>'; $headerStr=' <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg-flat.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">'; echo $headerStr; ?> <head> <title>MathML SVG Example </title> </head> <body> <?php $XMLStr= < < <SimpleXMLStr <!-- SVG codes starts here --> <svg:svg xmlns:svg="http://www.w3.org/2000/svg" version="1.1" baseProfile="full" width="100%" height="100%"> <svg:circle cx="95px" cy="80px" r="70px" fill="red"/> <svg:rect x="45" y="65" width="100" height="30" fill="rgb(255, 255, 255)"/> <svg:circle cx="300px" cy="80px" r="67px" fill="#ffffff" stroke="red" stroke-width="5px"/> <svg:rect x="250" y="65" width="100" height="30" fill="red"/> <svg:rect x="285" y="30" width="30" height="100" fill="red"/> </svg:svg> <!-- SVG codes ends here --> SimpleXMLStr; $xml = simplexml_load_string ($XMLStr); echo $XMLStr; //echo $xml->asXML() ; ?> <?php $XMLStr= < < <SimpleXMLStr <object_1> <subject_1> <text>如果 </text> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"> <mml:mrow> <mml:mo lspace="4px" rspace="4px">∠ </mml:mo> <mml:mi>α </mml:mi> </mml:mrow> </mml:math> <text>与 </text> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"> <mml:mrow> <mml:mo lspace="4px" rspace="4px">∠ </mml:mo> <mml:mi>β </mml:mi> </mml:mrow> </mml:math> <text>互补,且 </text> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"> <mml:mrow> <mml:mo lspace="4px" rspace="4px">∠ </mml:mo> <mml:mi>α </mml:mi> <mml:mo>> </mml:mo> <mml:mo lspace="4px" rspace="4px">∠ </mml:mo> <mml:mi>β </mml:mi> </mml:mrow> </mml:math> <text>则下列表示 </text> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"> <mml:mrow> <mml:mo lspace="4px" rspace="4px">∠ </mml:mo> <mml:mi>β </mml:mi> </mml:mrow> </mml:math> <text>的余角的式子中:①、 </text> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"> <mml:mrow> <mml:mn>90 </mml:mn> <mml:mi>° </mml:mi> <mml:mo>− </mml:mo> <mml:mo lspace="4px" rspace="4px">∠ </mml:mo> <mml:mi>β </mml:mi> </mml:mrow> </mml:math> <text>,②、 </text> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"> <mml:mrow> <mml:mo lspace="4px" rspace="4px">∠ </mml:mo> <mml:mi>α </mml:mi> <mml:mo>− </mml:mo> <mml:mn>90 </mml:mn> <mml:mi>° </mml:mi> </mml:mrow> </mml:math> <text>,③、 </text> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"> <mml:mrow> <mml:mfrac> <mml:mn>1 </mml:mn> <mml:mn>2 </mml:mn> </mml:mfrac> <mml:mo stretchy="false">( </mml:mo> <mml:mo lspace="4px" rspace="4px">∠ </mml:mo> <mml:mi>α </mml:mi> <mml:mo>+ </mml:mo> <mml:mo lspace="4px" rspace="4px">∠ </mml:mo> <mml:mi>β </mml:mi> <mml:mo stretchy="false">) </mml:mo> </mml:mrow> </mml:math> <text>,④、 </text> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"> <mml:mrow> <mml:mfrac> <mml:mn>1 </mml:mn> <mml:mn>2 </mml:mn> </mml:mfrac> <mml:mo stretchy="false">( </mml:mo> <mml:mo lspace="4px" rspace="4px">∠ </mml:mo> <mml:mi>α </mml:mi> <mml:mo>− </mml:mo> <mml:mo lspace="4px" rspace="4px">∠ </mml:mo> <mml:mi>β </mml:mi> <mml:mo stretchy="false">) </mml:mo> </mml:mrow> </mml:math> <text>,正确的有: </text> </subject_1> <question> <SimpleChoice> <Choice> <text>(A)4个 </text> </Choice> <Choice> <text>(B)3个 </text> </Choice> <Choice> <text>(C)2个 </text> </Choice> <Choice> <text>(D)1个 </text> </Choice> </SimpleChoice> </question> </object_1> SimpleXMLStr; $xml = simplexml_load_string ($XMLStr); echo $XMLStr; //echo $xml->asXML() ; ?> </body> </html> |
|