Спецсимволы php: типы переменных, экранирование, спецсимволы и синтаксис heredoc в PHP — Site on! – PHP спецсимволы в жизни и в программировании

Преобразует специальные символы в HTML-сущности

ISO-8859-1 ISO8859-1 Западно-европейская Latin-1.
ISO-8859-5 ISO8859-5 Редко используемая кириллическая кодировка (Latin/Cyrillic).
ISO-8859-15 ISO8859-15 Западно-европейская Latin-9. Добавляет знак евро, французские и финские буквы к кодировке Latin-1 (ISO-8859-1).
UTF-8   8-битная Unicode, совместимая с ASCII.
cp866 ibm866, 866 Кириллическая кодировка, применяемая в DOS.
cp1251 Windows-1251, win-1251, 1251 Кириллическая кодировка, применяемая в Windows.
cp1252 Windows-1252, 1252 Западно-европейская кодировка, применяемая в Windows.
KOI8-R koi8-ru, koi8r Русская кодировка.
BIG5 950 Традиционный китайский, применяется в основном на Тайване.
GB2312 936 Упрощенный китайский, стандартная национальная кодировка.
BIG5-HKSCS   Расширенная Big5, применяемая в Гонконге.
Shift_JIS SJIS, SJIS-win, cp932, 932 Японская кодировка.
EUC-JP EUCJP, eucJP-win Японская кодировка.
MacRoman   Кодировка, используемая в Mac OS.
»   Пустая строка активирует режим определения кодировки из файла скрипта (Zend multibyte), default_charset и текущей локали (см. nl_langinfo() и setlocale()) в указанном порядке. Не рекомендуется к использованию.

Спецсимволы в регулярных выражений

Вы здесь: Главная — PHP — PHP Основы — Спецсимволы в регулярных выражений

Спецсимволы в регулярных выражений

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

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

Спецсимвол Что делает
\d Возникает соответствие, если данный символ является цифрой.
\D Возникает соответствие, если данный символ является НЕ цифрой.
\w Возникает соответствие, если данный символ является буквой, либо цифрой.
\W Соответствие возникнет, если данный символ НЕ является буквой, либо цифрой.
\s Соответствие появится, если символ будет пробельным.
\S Соответствие будет, при условии, что данный символ НЕ будет пробельным.
\b Соответствует позициии на границе слова.
\B Соответствует позиции НЕ на границе слова.
\n Соответствует символу перехода на новую строку.
\t Соответствует символу табуляции.
\r Соответствует символу возврата каретки.

Чтобы закрепить материал, внимательно проанализируйте следующий пример и попытайтесь, не читая дальше, перевести его на русский язык:

/\d\s\w\d/

Переведите на русский язык данное выражение… А теперь проверьте себя. Строка, которая «содержит последовательность, которая начинается с цифры, после которой идёт пробельный символ, далее идёт буква, либо цифра и затем ещё одна цифра.«, будет соответствовать регулярному выражению, написанному выше.

Теперь постарайтесь придумать строку, которая будет соответствовать данному регулярному выражению. Я же приведу свой пример: «не_важно_что0 a9не_важно_что«, либо такая «0 99» и другие аналогичные строки.

Если Вы читали предыдущие статьи по регулярным выражениям, то теперь Ваш багаж полон, однако, есть ещё один маленький нюанс при составлении регулярных выражений — модификаторы. О том, что это такое, зачем они нужны и как их использовать, я расскажу в следующей статье.

  • Спецсимволы в регулярных выражений Создано 07.04.2011 23:41:21
  • Спецсимволы в регулярных выражений Михаил Русаков
Предыдущая статья Следующая статья

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:
    <a href=»https://myrusakov.ru» target=»_blank»><img src=»https://myrusakov.ru/images/button.gif» alt=»Как создать свой сайт» /></a>

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:
    <a href=»https://myrusakov.ru» target=»_blank»>Как создать свой сайт</a>

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):
    [URL=»https://myrusakov.ru»]Как создать свой сайт[/URL]

вывод спецсимволов php

Доброго времени суток всем.
Опять при програмирование возникла некая проблемка:
КАК ВЕРНО ВЫВОДИТЬ СПЕЦ СИМВОЛЫ???
И вот, спустя некоторое время сидя за компом, тестами и гуглом находится некий вариант:
1. Использование экранизирование символов

$text='Текст может быть спокойно в \'одинарных\' кавычках';
echo $text;
$text="Но текст также может быть и в \"двойных\" кавичках";
echo $text;

2. Использовать цепочки симолов, словосочетаний, кода даного символа (В свое время именно этим я пользовался)

$text='Текст может быть спокойно в '.chr(39).'одинарных'.chr(39).'кавычках';
echo $text;

Иногда нужно в текст вставить какую-то переменную, к примеру:

$text="TEXT - $result";//ВЕРНО
$text='TEXT - '.$result;//ВЕРНО
$text='TEXT - $result';//НЕВЕРНО

Первый верно потому, что переменная заключена в двойные кавички и пхп ее видит действительно как переменную. В втором варианте также все верно, поскольку идет сложение текста (за это отвечает символ «.»). А третий вариант не верен потому, что текст заключен в одинарные кавички, и ядро php его порсто видит как текст.
Но иногда даже бывают случаи, когда нужно втыкнуть массив в текст. Что тогда?
Обычно делают вот так:

$text="ARRAY - ".$array['array'];//ВЕРНО
$text='ARRAY - '.$array['array'];//ВЕРНО
$text="ARRAY - $array[array]";//ВЕРНО
$text="ARRAY - $array['array']";//НЕВЕРНО
$text='ARRAY - $array["array"]';//НЕВЕРНО

В первых двох вариантах верно, потому что используется сложение текстовых даных, во вторых двох неверно потому, что php не может распознать массив внутри кавычек (В БОЛЬШИНСТВЕ ТАК ДУМАЕТ, НО ЭТО СОВСЕМ НЕ ВЕРНО!!!)
Тогда остается вопрос, А КАК НАПИСАТЬ МАССИВ В ДВОЙНЫХ КАВЫЧКАХ ТАК, ЧТОБ ЕГО ЯДРО ПХП ОПРЕДЕЛИЛО КАК ПЕРЕМЕННУЮ?
Все очень просто, нужно этот массив заключить в фигурные скобки, тогда ядро его воспринимает как переменную. Вот типа такого:

$array['birthday']['ZhukV']="22.05.1991";
echo "ZhkuV - {$array['birthday']['ZhukV']}";

Также можна и прописовать порстые переменные:

$array="22.05.1991";
echo "ZhkuV - {$array}";

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

Но все же, вопрос в этой теме состоял по другому:

КАК ВЕРНО ВЫВОДИТЬ СПЕЦ СИМВОЛЫ???
Здесь есть креативный вариант выполнение задачи, не на всех версиях пхп етот вариант поркатит (НА >4-ом 100% работает)
Есть в php-manual такое понятие как Heredoc-синтакс, синтаксис которого очень легкой в использовании.
Вот некий пример такого использования:


echo <<<ZHUK
Zhuk Vitaliy Volodumurovuch
ZHUK;

Сразу некоторые основы:
1. Открывается этот синтаксис без никаких кавычек, тремя «<<<«, после чего нужно указать «название» етого синтаксиса, чтоб в конце его закрыть (в нас в примере мы его назвали «ZHUK»). Также можна не сразу ставить на echo а заносить в какую-то переменную
2. Строки текста должны начинатся с последующей строки, и их моет быть сколько угодно…
3. В конце нужно обезательно закрыть синтаксис, написав «имя» синтаксиса, которого прописале в начале (в нашем примере ZHUK;).

Ну по основам вроде все. Тепер поехали далее…
В такст можна вставлять все что угодно, включая спец-символы php:


echo <<<ZHUK
Ура, можна включать "двойные" кавички и 'одинарные' вместе, без никаких проблем
А вот <span>здесь</span> модна указывать цвет текста при помощь <span>html тегов и <span>CSS</span>
ZHUK;

Могу поспорить, что сразу у некоторых возникнит вопрос: А как притулить переменную?
Вот Вам и ответ: просто пишем переменную и ВСЕ

$text="22.05.1991";
echo <<<ZHUK
Жук Виталий Владимирович родился "$text"!!!
ZHUK;

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

$text="22.05.1991";
echo <<<ZHUK
Жук Виталий Владимирович родился {$text}года
ZHUK;

Это также относится и до вывода простым способом
Ну и может возникнуть вопросик: А как вывести элемент массива?
Вот и Вам опять ответ: Пишем его в фигурных скобках.

$text['birthday']['ZhukV']="22.05.1991";
echo <<<ZHUK
Жук Виталий Владимирович родился {$text['birthday']['ZhukV']}года
ZHUK;

Ну вот на этом и все. Удачки всем.

Я думаю, что данный материал пригодится каждому, кто иногда стыкался с такими проблемками.

P.S. Если есть ошибки, поправте плиз…

PHP: Символьные классы — Manual

Символьные классы

Открывающая квадратная скобка объявляет начало символьного класса, завершаемого закрывающей квадратной скобкой. Символ ‘]’ не имеет специального значения, и в случае, если закрывающая квадратная скобка необходима как член символьного класса, она должна быть первым символом непосредственно после открывающей квадратной скобки (если используется метасимвол ‘^’, то непосредственно после него), либо экранироваться при помощи обратного слеша.

Символьный класс соответствует одиночному символу обрабатываемой строки, причем сам символ должен содержаться в наборе, определяемым классом. В случае, если первым символом описания класса является ‘^’, логика работы инвертируется: класс соответствует одиночному символу, который не содержится в наборе, определяемым классом. Если символ ‘^’ необходим как член класса, его не следует помещать первым символом в описании класса либо необходимо экранировать при помощи обратного слеша.

К примеру, символьный класс [aeiou] соответствует любой гласной букве в нижнем регистре, в то время, как [^aeiou] соответствует любому символу, не являющемуся гласной буквой нижнего регистра. Следует понимать, что символ ‘^’ всего лишь удобный инструмент для описания символов, не используемых в сопоставлении, это не утверждение, так как он все же занимает символ в обрабатываемой строке, и не совпадет, если текущая позиция сравнения находится в конце строки.

В случае, если производится регистронезависимое сопоставление, любая буква символьного класса соответствует как своему верхнему, так и нижнему регистру. Таким образом символьный класс [aeiou] соответствует как ‘A’, так и ‘a’. Аналогично, класс [^aeiou] не соответствует ни ‘A’, ни ‘a’, тогда как в регистрозависимом режиме совпадение бы состоялось.

Внутри символьного класса символ перевода строки «\n» не имеет специального значения, независимо от наличия модификаторов PCRE_DOTALL и PCRE_MULTILINE. Символьные классы, построенные на отрицании, например [^a], всегда соответствуют символу перевода строки.

Символ минус ‘-‘ (дефис) внутри класса используется для задания символьного диапазона. Например, [d-m] соответствует любому символу, находящемуся между ‘d’ и ‘m’, включая сами символы ‘d’ и ‘m’. В случае, если ‘-‘ необходим, как член класса, он должен находиться в такой позиции, в которой он не может интерпретироваться как диапазон (как правило, это первый и последний символ описания класса), либо экранироваться при помощи обратного слеша.

Недопустимо использовать закрывающую квадратную скобку «]» в качестве границы символьного диапазона. К примеру шаблон ‘[W-]46]’ будет интерпретирован как символьный класс, состоящий из двух символов («W» и «-«), за которыми следует строка «46]», таким образом шаблон будет соответствовать строкам «W46]» или «-46]». Чтобы все же использовать символ ‘]’ в описании диапазона, его необходимо экранировать при помощи обратного слеша, к примеру шаблон [W-\]46] будет интерпретирован как символьный класс, состоящий из символьного диапазона вместе с двумя последующими символами ‘4’ и ‘6’. Такого же результата можно достичь используя шестнадцатеричное или восьмеричное представление символа ‘]’.

Для построения символьных диапазонов используется ASCII представление символов. Таким образом пограничные символы можно задавать непосредственно в числовом представлении, например, [\000-\037]. В случае, если выполняется регистронезависимый поиск, символы, описанные в диапазоне, также будут соответствовать символам обеих регистров. К примеру, диапазоны [W-c] и [][\^_`wxyzabc] эквивалентны (в случае регистронезависимого поиска). Например, если установлена локаль «fr» (Франция) можно использовать [\xc8-\xcb] для задания соответствия ударному ‘E’ в обоих регистрах.

Общие типы символов \d, \D, \s, \S, \w, и \W также могут использоваться в символьных классах, добавляя при этом в класс те символы, которым соответствуют. Например, класс [\dABCDEF] соответствует любой шестнадцатеричной цифре. Символ ‘^’ может использоваться совместно с общим типом, взятым в верхнем регистре, для указания более узкого набора символов. Например, класс [^\W_] соответствует любой букве или цифре, но не символу подчеркивания.

Все не буквенно-цифровые символы, кроме \, -, ^ (вначале) и завершающего ‘]’, не являются специальными символами, но использование экранирующего слеша перед ними не навредит. Символ конца шаблона всегда является особым случаем и всегда должен быть проэкранирован внутри выражения.

Perl поддерживает нотацию POSIX для символьных классов. Это включает использование имен, заключенных в [: и :], в свою очередь заключенных в квадратные скобки. PCRE также поддерживает эту запись. Например, [01[:alpha:]%] совпадет с «0», «1», любым алфавитным символом или «%». Поддерживаются следующие имена классов:

Символьные классы
alnumбуквы и цифры
alphaбуквы
asciiсимволы с кодами 0 — 127
blankтолько пробел или символ табуляции
cntrlуправляющие символы
digitдесятичные цифры (то же самое, что и \d)
graphпечатные символы, исключая пробел
lowerстрочные буквы
printпечатные символы, включая пробел
punctпечатные символы, исключая буквы и цифры
spaceпробельные символы(почти то же самое, что и \s)
upperпрописные буквы
wordсимволы «слова» (то же самое, что и \w)
xdigitшестнадцатеричные цифры
Класс пробельных символов (space) — это горизонтальная табуляция (HT, 9), перевод строки (LF, 10), вертикальная табуляция (VT, 11), разрыв страницы (FF, 12), возврат каретки (CR, 13) и пробел (32). Учтите, что этот список включает вертикальную табуляцию (VT, код 11). Это отличает «space» от \s, который не включает этот символ (для совместимости с Perl).

Название word — это расширение Perl, а blank — расширение GNU, начиная с версии Perl 5.8. Другое расширение Perl — это отрицание, которое указывается символом ^ после двоеточия. Например, [12[:^digit:]] совпадет с «1», «2», или с любой не-цифрой.

В режиме UTF-8, символы со значениями, превышающими 128, не совпадут ни с одним из символьных классов POSIX. Начиная с PHP 5.3.0 и libpcre 8.10 некоторые символьные классы изменены, чтобы использовать свойства символов Unicode, в этом случае упомянутое ограничение не применяется. Читайте » руководство PCRE(3) для подробностей.

Свойства символов Unicode могут возникнуть внутри символьного класса. Они не могут быть частью диапазона. Символ минус (дефис), после символьного класс Unicode будет совпадать буквально. Попытка закончить диапазон с помощью свойства символа Unicode вызовет предупреждение.

htmlentities — Преобразует все возможные символы в соответствующие HTML-сущности | Руководство по PHP

ISO-8859-1 ISO8859-1 Западно-европейская Latin-1.
ISO-8859-5 ISO8859-5 Редко используемая кириллическая кодировка (Latin/Cyrillic).
ISO-8859-15 ISO8859-15 Западно-европейская Latin-9. Добавляет знак евро, французские и финские буквы к кодировке Latin-1(ISO-8859-1).
UTF-8   8-битная Unicode, совместимая с ASCII.
cp866 ibm866, 866 Кириллическая кодировка, применяемая в DOS.
cp1251 Windows-1251, win-1251, 1251 Кириллическая кодировка, применяемая в Windows.
cp1252 Windows-1252, 1252 Западно-европейская кодировка, применяемая в Windows.
KOI8-R koi8-ru, koi8r Русская кодировка.
BIG5 950 Традиционный китайский, применяется в основном на Тайване.
GB2312 936 Упрощенный китайский, стандартная национальная кодировка.
BIG5-HKSCS   Расширенная Big5, применяемая в Гонг-Конге.
Shift_JIS SJIS, SJIS-win, cp932, 932 Японская кодировка.
EUC-JP EUCJP, eucJP-win Японская кодировка.
MacRoman   Кодировка, используемая в Mac OS.
»   Пустая строка активирует режим определения кодировки из файла скрипта (Zend multibyte), default_charset и текущей локали (см. nl_langinfo() и setlocale()), в указанном порядке. Не рекомендуется к использованию.

Cимволы HTML. Спецсимволы языка HTML. Специальные символы HTML. Математические символы в HTML. Таблица специальных символов HTML.

Главная Страница » Книги по PHP » Спецсимволы HTML

Масти

Отображение Символ Код Описание
&spades; &#9824; Масть: Пики
&clubs; &#9827; Масть: трефы

Показать всю таблицу HTML символов Масти

Стрелки

Отображение Символ Код Описание
&larr; &#8592; Стрелки: влево
&uarr; &#8593; Стрелки: вверх
&rarr; &#8594; Стрелки: вправо
&darr; &#8595; Стрелки: вниз
&harr; &#8596; Стрелки: влево-вправо
&crarr; &#8629; Стрелки: вниз с углом вправо = возврат каретки
&lArr; &#8656; Стрелки: двойная влево
&uArr; &#8657; Стрелки: двойная вверх
&rArr; &#8658; Стрелки: двойная вправо
&dArr; &#8659; Стрелки: двойная вниз
&dArr; &#8660; Стрелки: двойная влево-вправо

Греческие буквы в HTML

Греческие буквы в HTML

Отображение Символ Код Описание
Α &Alpha; &#913; Греческие буквы: Прописная альфа
Β &Beta; &#914; Греческие буквы: Прописная бета
Γ &Gamma; &#915; Греческие буквы: Прописная гамма
Δ &Delta; &#916; Греческие буквы: Прописная дельта
Ε &Epsilon; &#917; Греческие буквы: Прописная эпсилон
Ζ &Zeta; &#918; Греческие буквы: Прописная дзета
Η &Eta; &#919; Греческие буквы: Прописная эта
Θ &Theta; &#920; Греческие буквы: Прописная тэта
Ι &Iota; &#921; Греческие буквы: Прописная иота
Κ &Kappa; &#922; Греческие буквы: Прописная каппа
Λ &Lambda; &#923; Греческие буквы: Прописная лямбда
Μ &Mu; &#924; Греческие буквы: Прописная мю
Ν &Nu; &#925; Греческие буквы: Прописная ню
Ξ &Xi; &#926; Греческие буквы: Прописная кси
Ο &Omicron; &#927; Греческие буквы: Прописная омикрон
Π &Pi; &#928; Греческие буквы: Прописная пи
Ρ &Rho; &#929; Греческие буквы: Прописная ро
Σ &Sigma; &#931; Греческие буквы: Прописная сигма
Τ &Tau; &#932; Греческие буквы: Прописная тау
Υ &Upsilon; &#933; Греческие буквы: Прописная ипсилон
Φ &Phi; &#934; Греческие буквы: Прописная фи
Χ &Chi; &#935; Греческие буквы: Прописная хи
Ψ &Psi; &#936; Греческие буквы: Прописная пси
Ω &Omega; &#937; Греческие буквы: Прописная омега

Другие символы HTML

Другие спецсимволы языка HTML

Отображение Символ Код Описание
&loz; &#9674; ромб

Поделиться с друзьями

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *