2013-05-28 3 views
4

Как я могу использовать строку, как показано ниже.PHP: использование одинарных кавычек и двойных кавычек в одной строке

$str = 'Is yo"ur name O'reil"ly?'; 

выше код просто example..I нужно использовать большой шаблон HTML, который содержит одинарной и двойной quotes.I попробовал метод PHP Addslashes, но когда я использую одного и двойные кавычки строки в этой функции I получите синтаксическую ошибку. Пожалуйста, помогите мне.

Примечание: мое использование в реальном времени данных json, как показано ниже.

$string = " 

    <html> 
    ... 
    <b:if cond='data:blog.pageType == "item"'> 
    .. 

    "; 
    $string = '{"method":"template","params":{"1":"'.$string.'"},"token":"12345"}'; 

ответ

7

Вы можете использовать heredoc для этого:

$string = <<<EOM 
    <html> 
    ... 
    <b:if cond='data:blog.pageType == "item"'> 
    .. 
EOM; 

Если вы хотите, чтобы предотвратить переменной интерполяции, а также вы можете использовать nowdoc (с 5,3):

$string = <<<'EOM' 
    <html> 
    ... 
    <b:if cond='data:blog.pageType == "item"'> 
    .. 
EOM; 

Оба Heredoc и nowdoc имеет особые требования к форматированию, поэтому обязательно прочтите руководство.

+1

Вы могли бы также отметить, что нет пробелов/вкладки допускается до окончания в Heredoc , – Johan

+0

@ Luceos Переменная работа просто отлично в heredoc. См. Этот пример - http://php.net/manual/en/language.types.string.php#example-73 –

+0

Jep, я знаю; опечатка; temp растет в офисе xD – Luceos

1

Вы можете использовать heredoc так:

$str = <<< EOF 
'Is yo"ur name O'reil"ly?' 
EOF; 
1

Я использовал Heredoc сделать то же самое, как

$string = <<< EOF 
'Is yo"ur name O'reil"ly?' 
EOF; 
Смежные вопросы