Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

Несколько примеров на регулярные выражения.

div.main {margin-left: 20pt; margin-right: 20pt} Несколько примеров на регулярные выражения.

Полезные ссылки: Как изучить регулярные выражения и что это такое? Подсветка URL в тексте Найти все слова в тексте

Элементарные действия Является ли строка числом, длиной до 77 цифр:

if (ereg("^[0-9]{77}$",$string)) echo "yes"; else echo "no";

Состоит ли строка только из букв, цифр и "_", длиной от 5 до 20 символов:

if (ereg("^[a-za-я0-9_]{5,20}$",$string)) echo "yes"; else echo "no";

Есть ли в строке любые символы, кроме допустимых. Допустимыми считаются буквы, цифры и "_". Длину тут проверять нельзя, разве что просто дополнительным условием strlen($string). Не путайте с предыдущим примером - хоть результат и одинаковый, но метод другой, "от противного" :)

if ( ! ereg("[^a-za-я0-9_]",$string)) echo "нет посторонних букв (OK)"; else echo "есть посторонние буквы (FALSE)";

Есть ли в строке идущие подряд символы, не менее 3-х символов подряд (типа "абвгДДДеё", но не "ааббаабб"):

if (preg_match("/(.)\1\1/",$string)) echo "yes"; else echo "no";

Заменить везде в тексте СТРОКУ1 на СТРОКУ2 (задача решается без регегулярных выражений):

$string=str_replace("СТРОКА1","СТРОКА2",$string);

Заменить кривые коды перехода строки на нормальные: для этого нужно только удалить "r". Переходы бывают нормальными (но разными!): "n" или "rn". Еще бывают глюки, типа "rrn".

$string=str_replace("r","",$string);

Заменить все повторяющиеся пробелы на один. Не пытайтесь здесь применить str_replace, это хорошая функция, но не для данного примера.

$string=preg_replace("/ХХ+/","Х",$string); // вместо Х поставьте пробел

В тексте есть некоторые слова, допустим "СЛОВО" и "ЛЯЛЯЛЯ" (и т.д.), которые нужно одинаковым образом заменить на тоже самое, но с добавками. Возможно, слова отсутствуют или встречаются много раз в любом регистре. Т.е. если было "слово" или "СлОвО" (или еще как), нужно заменить это на "<b>слово</b>" или "<b>СлОвО</b>" (смотря, как было). Другими словами нужно найти перечень слов в любом регистре и вставить по краям найленных слов фиксированные строки (на "<b>" и "</b>").

$string=preg_replace("/(слово1|слово2|ляляля|слово99)/si","\1",$string);

Найти текст, заключенный в какой-то тег, например <TITLE> ... </TITLE> из HTML-файла ($string - исходный текст).

if (preg_match("!(.*?)!si",$string,$ok)) echo "Тег найден, текст: $ok[1]"; else echo "Тег не найден";

Найти текст, заключенный в какой-то тег и заменить его на другой тег, например: <TITLE> ... </TITLE> заменить аналогично на <МОЙ_ТЕГ> ... </МОЙ_ТЕГ> в HTML-файле:

preg_replace("!(.*?)!si","\1",$string);

Подсветка PHP-кода в сообщениях К примеру, у вас есть форум типа vBulletin, где можно подсвечивать код, если его выделить специально: [PHP] любой код [/PHP]. В итоге, после этого (при просмотре сообщения), получается красивый и цветной php-код.

И так, если вы хотите, чтобы все куски между [PHP]..[/PHP] и <?..?> воспринимались как код и раскрашивались, то это можно сделать довольно легко.

Текст программы.




  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте