2013-04-04 2 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

+0

для удаления страницы, настройки apache и php, чтобы она печатала ошибки (в среде разработки) а также использовать некоторый отладчик javascript, например, firebug или chrome tool tool, чтобы поймать js-ошибки. –

+0

@jimmy вы проверили ответы? –

ответ

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: вы должны действительно думаете, переход на альтернативы, как Е(), который использует заполнители.

Смежные вопросы