PHP: примеры регулярных выражений
Регулярные выражения позволяют выполнять более сложный поиск и замену в строке
1. Если нужно обрабатывать в цикле только файлы с заданными расширениями, в данном случае это файлы изображений:
if (!ereg("^(.*)\\.(gif|jpg|jpeg|png)$", $item, $p)) continue;
*** Здесь $p- это массив найденных совпадений
*** continue – значит перейти к следующей итерации цикла
2. Замена расширения .ad или .tmx на расширение .txt
$item="._AAABBBCC.3ER_453.34.df.ad"
echo ereg_replace (".ad|.tmx", ".txt", $item);
Получаем
._AAABBBCC.3ER_453.34.df.txt
3. “Стираем” символы ._ или _
$temp=ereg_replace ("(\._|_)", "", $temp);
Получаем
AAABBBCC.3ER453.34.df.txt
4. “Стираем” все символы между (. цифра или цифры) и любым количеством цифр
$pattern = "((\.[0-9]+).+[0-9]+)"; $replacement =""; $temp=preg_replace($pattern, $replacement, $temp);
Получаем
AAABBBCC.txt
5. Переставляем местами
$string = "May 10, 2009"; $pattern = "/(\w+) (\d+), (\d+)/i"; preg_replace($pattern, $replacement, $string);
*** Здесь (\w+) обозначает любое количество (но не ноль) букв англ. алфавита, а (\d+) – любое количество цифр.
Для $replacement = "\$3, \$2, \$1"; получаем:
2009, 10, May
Для $replacement = "\${1} 1,\$3"; (вместо $2жестко заданное значение 1) получаем:
May 1,2009