2010-02-23 2 views
1

Я изменил одиночные кавычки в кавычках двойников после того, как я столкнулся й следующей проблемой:Каков правильный способ добавления якорных ссылок внутри массива php?

$lang = array(
     'let's do something...' 
    ); 

Теперь у меня есть эта проблема:

$lang = array(
    "tagline_h2" => "A paragraph...<a href="#">this is a link</a>" 
); 

Что я должен делать?

+1

Вы не должны использовать тот же тип цитатой каждый раз. Вы можете использовать одинарные кавычки для строки с двойными кавычками внутри и двойные кавычки для строки с одинарными кавычками в! Когда у вас есть * оба типа кавычек в строке или когда вам нужно использовать двойные кавычки, чтобы получить интерполяцию строк, тогда вам нужно подумать об обратном сбрасывании. – bobince

ответ

4

Как вы испытываете двойные кавычки в двойные кавычки строки, вы должны избежать двойные кавычки внутри строки, используя обратную косую черту:

"A paragraph...<a href=\"#\">this is a link</a>" 

См Double quoted string в руководстве: он утверждает, что PHP будет интерпретировать \" последовательность как двойной кавычки \n будет интерпретироваться как символ новой строки, и есть несколько других таких последовательностей)

0

Мне нравится использовать UrlEncode() и urldecode() для хранения строки временно. Таким образом, мне не нужно думать о двойных кавычках, котировках, амперсандах, новостях или вкладках или на самом деле ничего.

Два предостережений:

  • Академики укажут, что она выполняет хуже, и я хотел бы ответить, сказав, что больше времени тратится думать об этом, чем иметь дело с ним, так как это веб-сайт PHP и не ускоритель частиц. (Или это?)

  • Вы должны urldecode(), когда вы собираетесь показывать.

ОБРАТИТЕ ВНИМАНИЕ, что для описанной проблемы urlencode()/urldecode() будет излишним. Я упомянул об этом только для справок в будущем, но в вашем конкретном случае побег гораздо более уместен, как описано в принятом решении.

+0

Какая проблема будет решена? Он ничего не делает. –

+0

Кровавый ад, ты прав, я совершенно неправильно понял проблему. ;) Извини за это. – Teekin

0

Еще лучше, если вы знаете, что будете иметь дело с котировками, почему бы не использовать синтаксисы heredoc и nowdoc?

Таким образом, вы можете сделать:

$lang = array(
    "tagline_h2" => <<<LINK A paragraph...<a href="#">this is a link</a> 
LINK 
); 
Смежные вопросы