8Июн/080
Полезные Regex’пы
В этой записи не будет всякого рода "разжовывания" по регулярным выражениям, тут примеры и описание и все.
Проверка e-mail адреса
<?php
$email = firstname.lastname@aaa.bbb.com;
$regexp = "/^[^0-9][A-z0-9_]+([.][A-z0-9_]+)*[@][A-z0-9_]+([.][A-z0-9_]+)*[.][A-z]{2,4}$/";
if (preg_match($regexp, $email)) {
echo "Email address is valid.";
} else {
echo "Email address is <u>not</u> valid.";
}
?>
Многоточие
$text = preg_replace('/\.{3}/', '…', $text);
Замена дефиса длинным тире
$text = preg_replace(' - ', ' — ', $text);
Замена повторяющихся пробелов на один
$string = preg_replace('/ +/', ' ', $string);
Удаление комментариев из HTML
$text = '<head><!-- коммент --></head>';
$text = preg_replace('/<!--.*-->/Uis', '', $text);
# $text будет содержать '
'Выбор всех тегов A из строки
$text = '<a href="http://site1.ru">Site 1</a> Any text <a href="http://site2.ru">Site 2</a>';
$out = array();
preg_match_all('|<a.* href=(.*)>(.*)</a>|U', $text, $out);
# $out будет содержать массив данных
Вырезка из строки всего кроме чисел
$str = 'avbr23,213nmn321';
$num = ereg_replace('[^[:digit:]$]','',$str);
Вырезка из строки всего кроме цифр и букв
$str = 'avbr23,213nmn321';
$num = ereg_replace('[^[:alnum:]$]','',$str);