2013-04-04 49 views
0

我有這段代碼導致我的腳本崩潰。我敢肯定,我有一些引號混淆。現在一直在盯着這個小時,並且找不到錯誤。任何幫助非常感謝。php語法錯誤,引號

$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; 
+0

在PHP中創建XML的錯誤較少。請參閱:http://php.net/manual/en/book.xmlwriter.php例如(有些庫提供更簡單的API仍然) – Mchl 2013-04-04 11:43:34

+0

用於消除頁面,設置Apache和PHP,以便它打印錯誤(在開發環境)還可以使用一些JavaScript調試器,如firebug或chrome開發工具來捕捉js錯誤。 – 2013-04-04 11:46:14

+0

@jimmy你檢查了答案嗎? – 2013-04-04 11:50:22

回答

0

你忘.這裏

".$fname"</meta> 

應該

".$fname."</meta> 

這裏也

".$lname."</dc:creator> 
0

缺少點這裏:

<meta refines=\"#aut\" property=\"file-as\">".$lname.", ".$fname"</meta> 

應該

<meta refines=\"#aut\" property=\"file-as\">".$lname.", ".$fname."</meta> 

PS:你應該認真考慮切換到如printf替代(),使用佔位符。