Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: проверка ввода мыла и адреса
 
 автор: skor   (06.10.2005 в 19:04)   письмо автору
 
 

пишу гостевушку.....
нужно чтобы проверялся е маил адрес, ( русские символы и написание name@host.zona
и чтоб в тексте введенного сообщения выцеплять все ссылки, даже если они без http://.


заранее всем спасибо! :))

   
 
 автор: skor   (06.10.2005 в 19:14)   письмо автору
 
   для: skor   (06.10.2005 в 19:04)
 

может заодно кто подскажет...

значит есть файл с записью вида



логин:::маил:::сообщение:::дата:::номер сообщения:::
логин:::маил:::сообщение:::дата:::номер сообщения:::
логин:::маил:::сообщение:::дата:::номер сообщения:::
логин:::маил:::сообщение:::дата:::номер сообщения:::
логин:::маил:::сообщение:::дата:::номер сообщения:::
логин:::маил:::сообщение:::дата:::номер сообщения:::
логин:::маил:::сообщение:::дата:::номер сообщения:::
и т.д.



как можно удалить строку зная номер сообщения??

   
 
 автор: cheops   (06.10.2005 в 23:46)   письмо автору
 
   для: skor   (06.10.2005 в 19:14)
 

Можно, только лучше это обсуждать в новой теме (один вопрос - одна тема) и привести кусок реального файла, так разбор зависит от того, что будет внутри файла.

   
 
 автор: cheops   (06.10.2005 в 23:45)   письмо автору
 
   для: skor   (06.10.2005 в 19:04)
 

E-mail можно проверить при помощи запроса вида
preg_match("/^[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,4}$/i",$email)

Под "выцепить URL" что подразумевается - сделать его гиперссылкой, извлечь из текста или ещё что-то? В любом случае нужно начитать плясать от чего-то вроде этого
<?php
  
// Извлекаем содержимое из файла index.htm
  
$content file_get_contents("text.txt");
  
$content nl2br($content);

  
// Регулярное выражение
  
$pattern "#http://[-a-z0-9_\.]+([-a-z0-9_]+\.(html|php|pl|cgi))?([-a-z0-9_:@&\?=+\.!/~*'%$]+)?#i";
  
$replacement "<a href=\\0>\\0</a>";

  
// Извлекаем название HTML-страницы
  
echo preg_replace($pattern$replacement$content);
?>

Если не будет ни http://, ни www выцепить URL будет сложнова-то или www будет присутствовать всегда?

   
 
 автор: skor   (07.10.2005 в 19:46)   письмо автору
 
   для: cheops   (06.10.2005 в 23:45)
 

выцеплять значит что если юзер ввел адрес то нужно сделать его ссылкой!
может проверить чтоб все буквы были нижнего регистра английскрго алфавита
вида name.zona или poddomen.name.zona так можно ведь сделать???

   
 
 автор: cheops   (07.10.2005 в 22:55)   письмо автору
 
   для: skor   (07.10.2005 в 19:46)
 

Попробуйте вот так
<?php 
  
// Извлекаем содержимое из файла index.htm 
  
$content file_get_contents("text.txt"); 
  
$content nl2br($content); 

  
// Регулярное выражение 
  
$pattern "#(http://)?www.[-a-z0-9_\.]+([-a-z0-9_]+\.(html|php|pl|cgi))?([-a-z0-9_:@&\?=+\.!/~*'%$]+)?#i"
  
$replacement "<a href=\\0>\\0</a>"
  
// Извлекаем название HTML-страницы 
  
$content =  preg_replace($pattern$replacement$content); 

  
// Регулярное выражение 
  
$pattern "#http://[-a-z0-9_\.]+([-a-z0-9_]+\.(html|php|pl|cgi))?([-a-z0-9_:@&\?=+\.!/~*'%$]+)?#i"
  
$replacement "<a href=\\0>\\0</a>"
  
// Извлекаем название HTML-страницы 
  
$content =  preg_replace($pattern$replacement$content); 

  
// Выводим результат
  
echo $content;
?>

   
 
 автор: cheops   (07.10.2005 в 22:58)   письмо автору
 
   для: skor   (07.10.2005 в 19:46)
 

>выцеплять значит что если юзер ввел адрес то нужно сделать
>его ссылкой!
>может проверить чтоб все буквы были нижнего регистра
>английскрго алфавита
>вида name.zona или poddomen.name.zona так можно ведь
>сделать???
Ну... можно попытаться поискать при помощи такого выражения
([a-z]+\.)+[a-z]{2,6}
Только помимо букв английского алфавита могут встречаться цифры, знаки подчёркивания и тире.

   
 
 автор: SiMM   (08.10.2005 в 16:03)
 
   для: skor   (06.10.2005 в 19:04)
 

> нужно чтобы проверялся е маил адрес
http://www.livejournal.com/community/ru_programming/47239.html

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования