2012-04-30 5 views
1

следующие работы просто отлично:PHP включают незавершенная строка сообщения

var sFirstText=<?php include("first2.html"); ?>; 

когда first2.html выглядит следующим образом ЧИСЛЕ двойные кавычки:

"<p>sentence one</p><p>sentence two</p>" 

Однако, если first2.html выглядит следующим образом:

"<p>sentence one</p> 
<p>sentence two</p>" 

Я получаю сообщение о завершении строкой строки. Я надеюсь выяснить, как включить html без предварительного удаления последовательностей подачи каретки/строки.

Кроме того, если удалить двойные кавычки и сделать:

var sFirstText="<?php include("first2.html"); ?>"; 

, что не будет работать, возвращая сообщение я еще не был в состоянии понять.

В принципе, я хочу получить простое форматирование html в поле без необходимости удаления последовательностей cr/lf.

+0

попробовать это: 'вар sFirstText = ' '; ' – deex

+0

@dqlopez Это приводит к отсутствию; перед заявлением ", но спасибо за эту мысль. – Terry

ответ

1

Попробуйте использовать \ в конце строки, чтобы продолжить строку до следующей строки.

+0

Это сделало трюк, хотя я должен признать, что когда я впервые прочитал его, я был уверен, что это не сработает. Живи и учись. – Terry

0

Javascript не может обрабатывать эти строки. Возможно, вы захотите открыть файл, прочитать содержимое и заменить его пустым пространством.

Также, получая исходное содержимое, вам нужно будет избежать типа цитирования, которое вы используете, чтобы его обернуть.

Вот что я хотел бы сделать.

function contents($file, $wrappingQuote='\'') { 
    $fh = fopen($file,'r'); 
    $contents = fread($fh,filesize($file)); 
    fclose($fh); 
    echo preg_replace('~\'~','\\'.$wrappingQuote,preg_replace('~\r?\n~','',$contents)); 
} 

(...)

var str = '<?php contents('first2.html') ?>'; 
// or 
var str = "<?php contents('first2.html','"') ?>"; 
+0

обратите внимание, что вам не нужно обертывать свой код в файле ** first2.html ** любым типом цитаты. – inhan

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