Home > PHP >

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

, , ,

Spam Protection by WP-SpamFree Plugin

В Интернете кто-то неправ!