Документы для веб-разработчиков

<? ///////////////////////////////////////////////////////////////// // Сниппеты с регулярными выражениями ///////////////////////////////////////////////////////////////// // -------------------------------------------------------------- // Поиск по регулярному выражению // -------------------------------------------------------------- // Все ссылки preg_match_all('/<a[^>]+>/i',$content, $links); var_dump($links); // Все картинки preg_match_all('/<img[^>]+>/i',$content, $images); var_dump($images); // Поиск страницы из постраничной навигации $result = "/articles/page20/"; $pattern = '/page[0-9]*/'; preg_match($pattern, $result, $matches); if(!empty($matches)){ echo $matches[0]; // page20 } // ------------------------------------------------------------- // Очистка текстов с использованием регулярных выражений // ------------------------------------------------------------- // Очистка адреса от постраничной навигации $result = "/msk/doctor/page10/"; $result = preg_replace('/page[0-9]*\//','',$result); echo $result; // /msk/doctor/ // Очистрка хештэгов $arItem["BODY_FORMATED"] = "текст текст #LENTA# текст #BOLEZN_RIGHT_5121#, #BOLEZN_LEFT_5122#, #BOLEZN_LEFT_5105#"; $pattern_delete = '/(#BOLEZN_RIGHT_(\d+)#)|(#BOLEZN_LEFT_(\d+)#)|(#LENTA#)|(#OPINIONS#)|(#ARTICLES#)|(#Q-A#)/i'; // $pattern_delete = '/#([a-zA-Z0-9-_]+)#/i'; - более простой шаблон для всех тэгов $arItem["BODY_FORMATED"] = preg_replace($pattern_delete, '', $arItem["BODY_FORMATED"]); // -------------------------------------------------------------- // Валидация телефона (нужно указать свои данные оператора) // -------------------------------------------------------------- function chek_tell($tell) { $pattern = "/^\+380\d{3}\d{2}\d{2}\d{2}$/"; if(preg_match($pattern, "+380635290289")) return true; else return false; } // -------------------------------------------------------------- // Очистка текста // -------------------------------------------------------------- // Убираем переносы строк $arResult['DETAIL_TEXT'] = str_replace(array("\n","\r"), "", $arResult['DETAIL_TEXT']); // Убираем лишние пробелы $arResult['DETAIL_TEXT'] = preg_replace('/\s{2,}/', ' ', $arResult['DETAIL_TEXT']); // -------------------------------------------------------------- // Добавление тэга alt="" к изображениям у которых он отсутствует // -------------------------------------------------------------- // Загружаем код страницы $content = file_get_contents("page.html"); // Получаем код с добавленными тэгами alt $content = addAltTagsToImages($content); function addAltTagsToImages($content) { preg_match_all('/<img[^>]+>/i',$content, $images); if(!empty($images[0])) { foreach($images[0] as $img) { if(!strpos($img, 'alt=')){ $newIMG = str_replace('<img', '<img alt=""', $img); $content = str_replace($img, $newIMG, $content); } } } return $content; } // ------------------------------------------------------------- // Добавляем поддержку BB кодов на сайт // ------------------------------------------------------------- function AddBB($var) { $search = array( '/\[b\](.*?)\[\/b\]/is', '/\[i\](.*?)\[\/i\]/is', '/\[u\](.*?)\[\/u\]/is', '/\[img\](.*?)\[\/img\]/is', '/\[url\](.*?)\[\/url\]/is', '/\[url\=(.*?)\](.*?)\[\/url\]/is' ); $replace = array( '<strong>$1</strong>', '<em>$1</em>', '<u>$1</u>', '<img src="$1" />', '<a href="$1">$1</a>', '<a href="$1">$2</a>' ); $var = preg_replace ($search, $replace, $var); return $var; } ?>