Вопрос в следующем: Есть несколько строк кода для отправки через json (т.е. строкой). Так как в html "+" является знаком конкатенации, язык разметки его просто сжирает и плюсик теряется. С этим разобрался. С кавычками не до конца смог. Пример 1 (все ок):
$text = 'Some "hard" text';
т.к. кавычки разного формата, пропускает. Но если взять пример 2:
$text = 'Some 'hard' text';
php ругается, т.к. думает, что кавычка перед hard - конец строки. Собственно, не удается даже создать текст в таком виде. Приблизительный код следующий:
$text = 'Some "ha'+'rd" text';
$patterns = array("/\+/","/\‘/","/\’/","/\“/","/\”/");
$replacements = array("%2B","%91","%92","%93","%94");
$text = preg_replace($patterns, $replacements, $text);
Текст берется с текстового поля ввода, и перед каждым символом вставлять "\" никто не будет. Как сделать возможным содержание в тексте кавычек - одинаковых с теми, что служат началом и концом строки? т.е. так:
$text = 'Some 'hard' text';
Заранее спасибо.
В PHP "+" означает добавление (операция с числами), конкатенация обозначается символом "." (точка), а если Вы хотите использовать кавычки, в таких же кавычках, хватит перед ними поставить обратный слэш:
$text = 'Some \'hard\' text';
Спасибо, но все было не то. Решил heredoc-синтаксисом:
$bar = <<<EOT
"Двойные кавычки" 'Одинарные' и куча символов <>?!@#$%^&*()_+_=
EOT;
echo $bar;
Сборка персонального компьютера от Artline: умный выбор для современных пользователей