【发布时间】:2013-04-04 11:39:04
【问题描述】:
我有这段代码导致我的脚本崩溃。我敢肯定,我有某种引号混淆。现在已经盯着这个一个小时了,找不到错误。非常感谢任何帮助。
$title 可以包含逗号,可以吗?删除所有变量可以解决问题,也许是我添加它们的方式或它们包含的内容的问题?
$contentopf = "
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<package xmlns=\"http://www.idpf.org/2007/opf\" unique-identifier=\"bookid\" version=\"3.0\" prefix=\"rendition: http://www.idpf.org/vocab/rendition/# ibooks: http://vocabulary.itunes.apple.com/rdf/ibooks/vocabulary-extensions-1.0/\">
<metadata xmlns=\"http://www.idpf.org/2007/opf\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" >
<dc:format>application/epub+zip</dc:format>
<meta name=\"cover\" content=\"cover-image\" />
<dc:title>".$title."</dc:title>
<meta property=\"ibooks:version\">0.3.0</meta>
<dc:creator id=\"aut\">".$fname." ".$lname"</dc:creator>
<meta refines=\"#aut\" property=\"role\" scheme=\"marc:relators\">aut</meta>
<meta refines=\"#aut\" property=\"file-as\">".$lname.", ".$fname"</meta>
<dc:description>!</dc:description>
<dc:publisher>".$publisher."</dc:publisher>
<dc:date>".$year."</dc:date>
<dc:language>".$lang."</dc:language>
<dc:identifier id='bookid'>urn:uuid:".$uuid."</dc:identifier>
<meta refines='#bookid' property='identifier-type' scheme='xsd:string'>uuid</meta>
<dc:identifier id='isbn-id'>urn:isbn:".$isbn."</dc:identifier>
<meta refines='#isbn-id' property='identifier-type' scheme='onix:codelist5'>15</meta>
<meta property=\"dcterms:modified\">".$date."</meta>
<meta property=\"rendition:layout\">pre-paginated</meta>
<meta property=\"rendition:orientation\">landscape</meta>
<meta property=\"rendition:spread\">none</meta>
<meta property=\"ibooks:specified-fonts\">true</meta>
<meta property='ibooks:iphone-orientation-lock'>landscape-only</meta>
<meta property='ibooks:ipad-orientation-lock'>landscape-only</meta>
</metadata>
";
echo $contentopf;
【问题讨论】:
-
在 PHP 中创建 XML 的方法较少出错。参见:php.net/manual/en/book.xmlwriter.php 例如(仍有一些库提供更简单的 API)
-
用于调试页面,设置 apache 和 php 以便它打印错误(在开发环境中),并使用一些 javascript 调试器,如 firebug 或 chrome 开发工具来捕获 js 错误。
-
@jimmy 你检查答案了吗?
标签: php syntax-error epub