html

Замена ereg (eregi) на preg_match в PHP 5.3 (устаревание POSIX)

В PHP 5.3 разработчки решили, наконец, избавиться от POSIX регулярных выражений – в самом деле, зачем нужны две библиотеки для работы с регулярными выражениями, если можно обойтись одной? К тому же, POSIX регулярные выражения гораздо медленнее чем Perl совместимые регулярные выражения (PCRE).

Теперь, разработчики в срочном порядке исправляют свой код, заменяя функции ereg, eregi, ereg_replace, ereg_replacei соответствующими PCRE аналогами, благо, замена получилась довольно простой:

1. заменить ereg и eregi на preg_match, ereg_replace и ereg_replacei на preg_repalce;
2. добавить // разделители в начало и конец регулярного выражения;
3. если POSIX функция кончается на i (eregi, ereg_replacei) то добавить i в конец регулярного выражения после разделителя.
4. заменить POSIX спецсимволы соответствуюущими PCRE аналогами: [:alnum:] – \w или [0-9a-z], [:digit:] – \d или [0-9], [:space:] – \s, [:alpha:] – [a-z]

примеры:

ereg(‘expression’) -> preg_match(‘/expression/’)

eregi(‘expression’) -> preg_match(‘/expression/i’)

eregi(‘^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$’) -> preg_match(‘/^[a-z0-9][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$/i’)

Кроме того, оказывается шаг четвертый не обязателен – спецсимволы типа [[:alnum:]] теперь поддерживаются в PCRE!

Некоторые коды символов для вставки в html

Буквенный код Цифровой код Символ Описание
" " двойная кавычка
& & & амперсанд
&lt; &#60; < знак ‘меньше’
&gt; &#62; > знак ‘больше’
&nbsp; &#160;   неразрывный пробел
&iexcl; &#161; ¡ перевернутый восклицательный знак
&cent; &#162; ¢ цент
&pound; &#163; £ фунт стерлингов
&curren; &#164; ¤ денежная единица
&yen; &#165; ¥ иена или юань
&brvbar; &#166; ¦ разорванная вертикальная черта
&sect; &#167; § параграф
&uml; &#168; ¨ умляут
&copy; &#169; © знак copyright
&ordf; &#170; ª женский порядковый числитель
&laquo; &#171; « левая двойная угловая скобка
&not; &#172; ¬ знак отрицания
&shy; &#173; ­ место возможного переноса
&reg; &#174; ® знак зарегистрированной торговой марки
&macr; &#175; ¯ верхняя горизонтальная черта
&deg; &#176; ° градус
&plusmn; &#177; ± плюс-минус
&sup2; &#178; ² “в квадрате”
&sup3; &#179; ³ “в кубе”
&acute; &#180; ´ знак ударения
&micro; &#181; µ микро
&para; &#182; символ параграфа
&middot; &#183; · точка
&cedil; &#184; ¸ седиль (орфографический знак)
&sup1; &#185; ¹ верхний индекс ‘один’
&ordm; &#186; º мужской порядковый числитель
&raquo; &#187; » правая двойная угловая скобка
&frac14; &#188; ¼ одна четвертая
&frac12; &#189; ½ одна вторая
&frac34; &#190; ¾ три четвертых
&iquest; &#191; ¿ перевернутый вопросительный знак
&Agrave; &#192; À латинская заглавная А с тупым ударением
&Aacute; &#193; Á латинская заглавная А с острым ударением
&Acirc; &#194; Â латинская заглавная А с диакритическим знаком над гласной
&Atilde; &#195; Ã латинская заглавная А с тильдой
&Auml; &#196; Ä латинская заглавная А с двумя точками
&Aring; &#197; Å латинская заглавная А с верхним кружком
&AElig; &#198; Æ латинские заглавные символы AE вместе
&Ccedil; &#199; Ç латинская заглавная C с седилем
&Egrave; &#200; È латинская заглавная E с тупым ударением
&Eacute; &#201; É латинская заглавная E с острым ударением
&Ecirc; &#202; Ê латинская заглавная E с диакритическим знаком над гласной
&Euml; &#203; Ë латинская заглавная E с двумя точками
&Igrave; &#204; Ì латинская заглавная I с тупым ударением
&Iacute; &#205; Í латинская заглавная I с острым ударением
&Icirc; &#206; Î латинская заглавная I с диакритическим знаком над гласной
&Iuml; &#207; Ï латинская заглавная I с двумя точками
&ETH; &#208; Ð латинская заглавная D с черточкой
&Ntilde; &#209; Ñ латинская заглавная N с тильдой
&Ograve; &#210; Ò латинская заглавная O с тупым ударением
&Oacute; &#211; Ó латинская заглавная O с острым ударением
&Ocirc; &#212; Ô латинская заглавная O с диакритическим знаком над гласной
&Otilde; &#213; Õ латинская заглавная O с тильдой
&Ouml; &#214; Ö латинская заглавная O с двумя точками
&times; &#215; × знак умножения
&Oslash; &#216; Ø латинская заглавная O со штрихом
&Ugrave; &#217; Ù латинская заглавная U с тупым ударением
&Uacute; &#218; Ú латинская заглавная U с острым ударением
&Ucirc; &#219; Û латинская заглавная U с диакритическим знаком
&Uuml; &#220; Ü латинская заглавная U с двумя точками
&Yacute; &#221; Ý латинская заглавная Y с острым ударением
&THORN; &#222; Þ латинская заглавная THORN
&agrave; &#224; à латинская строчная a с тупым ударением
&aacute; &##225; á латинская строчная a с острым ударением
&acirc; &##226; â латинская строчная a с диакритическим знаком
&atilde; &#227; ã латинская строчная a с тильдой
&auml; &#228; ä латинская строчная a с двумя точками
&aring; &#229; å латинская строчная a с верхним кружком
&aelig; &#230; æ латинская строчные буквы ae
&ccedil; &#231; ç латинская строчная c с седилем
&egrave; &#232; è латинская строчная e с тупым ударением
&eacute; &#233; é латинская строчная e с острым ударением
&ecirc; &#234; ê латинская строчная e с диакритическим знаком
&euml; &#235; ë латинская строчная e с двумя точками
&igrave; &#236; ì латинская строчная I с тупым ударением
&iacute; &#237; í латинская строчная I с острым ударением
&icirc; &#238; î латинская строчная I с диакритическим знаком
&iuml; &#239; ï латинская строчная I с двумя точками
&eth; &#240; ð латинская строчные символы eth
&ntilde; &#241; ñ латинская строчная N с тильдой
&ograve; &#242; ò латинская строчная O с тупым ударением
&oacute; &#243; ó латинская строчная O с острым ударением
&ocirc; &#244; ô латинская строчная O с диакритическим знаком
&otilde; &#245; õ латинская строчная I с тильдой
&ouml; &#246; ö латинская строчная I с двумя точками
&divide; &#247; ÷ знак деления
&oslash; &#248; ø латинская строчная O со штрихом
&ugrave; &#249; ù латинская строчная U с тупым ударением
&uacute; &#250; ú латинская строчная U с острым ударением
&ucirc; &#251; û латинская строчная U с диакритическим знаком
&uuml; &#252; ü латинская строчная U с двумя точками
&yacute; &#253; ý латинская строчная Y с острым ударением
&thorn; &#254; þ латинская строчная thorn
&yuml; &#255; ÿ латинская строчная Y с двумя точками
&fnof; &#402; ƒ знак функции
Символы для букв
&circ; &#710; ˆ диакритический знак над гласной
&tilde; &#732; ˜ тильда
Греческие буквы
&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; Ω заглавная омега
&alpha; &#945; α строчная альфа
&beta; &#946; β строчная бета
&gamma; &#947; γ строчная гамма
&delta; &#948; δ строчная дельта
&epsilon; &#949; ε строчная эпсилон
&zeta; &#950; ζ строчная дзета
&eta; &#951; η строчная эта
&theta; &#952; θ строчная тета
&iota; &#953; ι строчная иота
&kappa; &#954; κ строчная каппа
&lambda; &#955; λ строчная лямбда
&mu; &#956; μ строчная мю
&nu; &#957; ν строчная ню
&xi; &#958; ξ строчная кси
&omicron; &#959; ο строчная омикрон
&pi; &#960; π строчная пи
&rho; &#961; ρ строчная ро
&sigmaf; &#962; ς строчная сигма (final)
&sigma; &#963; σ строчная сигма
&tau; &#964; τ строчная тау
&upsilon; &#965; υ строчная ипсилон
&phi; &#966; φ строчная фи
&chi; &#967; χ строчная хи
&psi; &#968; ψ строчная пси
&omega; &#969; ω строчная омега
Общая пунктуация
&ndash; &#8211; тире
&mdash; &#8212; длинное тире
&lsquo; &#8216; левая одиночная кавычка
&rsquo; &#8217; правая одиночная кавычка
&sbquo; &#8218; нижняя одиночная кавычка
&ldquo; &#8220; левая двойная кавычка
&rdquo; &#8221; правая двойная кавычка
&bdquo; &#8222; нижняя двойная кавычка
Прочие символы
&dagger; &#8224; латинский крест
&Dagger; &#8225; двойной крест
&bull; &#8226; маленький черный кружок
&hellip; &#8230; многоточие …
  &#8240; знак промилле (процент с дополнительным ноликом)
&prime; &#8242; одиночный штрих – минуты
&Prime; &#8243; двойной штрих – секунды
&oline; &#8254; надчеркивание
&frasl; &#8260; косая дробная черта
&euro; &#8364; евро
  &#8470; знак номера
&trade; &#8482; знак торговой марки
&loz; &#9674; ромб
  &#9675; круг
Стрелки
&larr; &#8592; стрелка влево
&uarr; &#8593; стрелка вверх
&rarr; &#8594; стрелка вправо
&darr; &#8595; стрелка вниз
&harr; &#8596; стрелка влево-вправо
  &#8597; стрелка вверх-вниз
Масти
&spades; &#9824; знак масти ‘пики’
&clubs; &#9827; знак масти ‘трефы’
&hearts; &#9829; знак масти ‘червы’
&diams; &#9830; знак масти ‘бубны’