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

Форум PHP

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

 

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

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

тема: помогите с задачкой
 
 автор: deeeman   (18.02.2009 в 14:44)   письмо автору
 
 

4. Нужно вывести форму в которой пользователь вводит некую кл. фразу и следующий текст: "В кл. фразе Вы можете использовать специальные символы: '*' - заменяет любую комбинацию символов; '?' - заменяет один символ.
Таким образом на слово 'газ*' найдется 'газ', 'газета', 'газированный' и т.д. на 'баннер?' - 'баннера', 'баннеру', но не 'баннер' и 'баннерный'." После отправки формы нужно найти и вывести все записи из таблицы с 1 текстовым полем, содержащие кл. фразу по вышеописанному алгоритму.


подсказали:
можно просто сделать парсер, а можно поглумицо с LIKE )


а вот как это сделать?

  Ответить  
 
 автор: nikita2206   (18.02.2009 в 15:29)   письмо автору
 
   для: deeeman   (18.02.2009 в 14:44)
 

Гдето так:

<?
$result 
mysql_query('SELECT * FROM `tabname`');
while(
$row mysql_fetch_array($result)){
    
$kluchevaya_fraza str_replace('*''(.*)'$kluchevaya_fraza);
    
$kluchevaya_fraza str_replace('?''(.?)'$kluchevaya_fraza);
    if(
preg_match('/^ '.$kluchevaya_fraza.' $/'$row['pole_poiska_v_BD'])){
        echo 
$row['fignya_kakaya_nibut'];
    }
}


Только обратите внимание на имена переменных и таблицы в БД, их надо заменить на подходящие....

  Ответить  
 
 автор: deeeman   (18.02.2009 в 16:00)   письмо автору
 
   для: nikita2206   (18.02.2009 в 15:29)
 

Спасибоще!!!!


можно еще вопрос:


1. Написать php-функцию, определяющую, существует ли введенный посетителем email-адрес в действительности (имеется ввиду, зарегистрирован ли на каком-либо сервере e-mail, введенный пользователем). Критичными являются: время ожидания ответа, достоверность ответа.

у меня так:


<?
//синтаксис (стандартный но можно расширить его зная больше о доменнх именах).
function check_email ($email) {
 if (!
preg_match ("/^[-0-9a-z_\.]+@[-0-9a-z^\.]+\.[a-z]{2,4}$/i" $email)){
  return 
false;
 }
 return 
true;
}

//проверка на существование домена на win платформе (для UNIX используется checkdnsrr)
function checkdnsrr_win ($host$recType '') {
 if (!empty (
$host)) {
  if (
$recType == ''$recType "MX";
  
exec ("nslookup -type=$recType $host",$output);
  foreach (
$output as $line) {
   if(
preg_match ("/^$host/"$line)) {
    return 
true;
   }
  }
  return 
false;
 }
 return 
false;
}

//инициализация проверки
function checkMail($email){
 list (
$username$domain) = split ('@'$email);
 if (!
checkdnsrr_win($domain,'MX')) {
 echo 
$domain " нет такого домена или некорректный мэйл<br>"  ;
 return 
false;
 }

//установливаем соединение с использованием стандартных портов
//тут есть сомнения:
//почтовый сервер может использовать нестандартный порт
//могли возникнуть проблемы с соединением хостинг-провайдера
if (!@fsockopen ($domain80$errno$errstr30)) {
 echo 
$domain " " "не отвечает" "<br>";
 return 
false;
}

 echo 
$domain " " "ответил" "<br>";

}

//example
checkMail("diman@mail.ru");
checkMail("diman@il.ru");
checkMail("dimanmailru");
?> 



но я думаю это неправильно работает

  Ответить  
Rambler's Top100
вверх

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