PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (81): В начало « ... 19 20 21 22 [23] 24 25 26 27 ... » В конец

> Найдено сообщений: 1209
evgenijj Отправлено: 10 Января, 2008 - 13:53:14 • Тема: Шаблон к preg_match • Форум: Программирование на PHP

Ответов: 9
Просмотров: 965
Вот еще один вариант - с исправлениями и дополнениями. После того, как я нашел мобильные номера, я вырезаю их из сообщения и потом ищу городские
PHP:
скопировать код в буфер обмена
  1.  
  2. $text = 'Таблица – конструкция базы данных, которая состоит из столбцов, 123-456-78-90 содержащих строки данных.
  3. Обычно таблицы созданы для того, чтобы содержать 678-3452578 связанную информацию. В пределах той же самой базы
  4. данных могут быть созданы несколько таблиц.
  5.  
  6. Каждый столбец представляет собой атрибут или 567-890 совокупность атрибутов объектов, например идентификационные
  7. номера служащих, рост, цвет машин и т.п. Часто в отношении 987-123 столбца используется термин поле с указанием
  8. имени, например "в поле Name". Поле строки является минимальным элементом таблицы. Каждый столбец в таблице имеет
  9. определенное имя, тип данных и размер. Имена столбцов 123 456-78-92 должны быть уникальны в пределах таблицы.
  10.  
  11. Каждая строка (или запись) представляет собой 87-22-16 совокупность атрибутов конкретного объекта, например, в 123-
  12. 456 строке может содержаться идентификационный номер служащего, размер его зарплаты, год его рождения и т.д.
  13. Строки таблиц не имеют названий. Чтобы обратиться к конкретной 745 123-4567 строке, пользователю необходимо
  14. указать какой-то атрибут (или набор атрибутов), уникально ее идентифицирующий.';
  15. // Ищем в объявлении мобильные телефоны
  16. $pattern = '#([0-9]{3})[^0-9]{0,3}([0-9]{3})[^0-9]{0,3}([0-9]{2})[^0-9]{0,3}([0-9]{2})#';
  17. preg_match_all( $pattern, $text, $matches );
  18. $cnt = count( $matches[0] );
  19. for ( $i = 0; $i < $cnt; $i++ ) {
  20.   echo 'Найден номер мобильного телефона: '.$matches[0][$i].'<br/>';
  21.   $phones[] = $matches[1][$i].$matches[2][$i].$matches[3][$i].$matches[4][$i];
  22. }
  23. $text = str_replace( $matches[0], '', $text );
  24. unset( $matches );
  25. echo '<hr>';
  26. // Ищем в объявлении городские телефоны
  27. $pattern = '#(?:[0-9]{3}[^0-9]{0,3}[0-9]{3})|(?:[0-9]{2}[^0-9]{0,3}[0-9]{2}[^0-9]{0,3}[0-9]{2})#';
  28. preg_match_all( $pattern, $text, $matches );
  29. $cnt = count( $matches[0] );
  30. for ( $i = 0; $i < $cnt; $i++ ) {
  31.   echo 'Найден номер городского телефона: '.$matches[0][$i].'<br/>';
  32.   $phones[] = preg_replace( '#[^0-9]#', '', $matches[0][$i] );
  33. }
  34. echo '<hr>';
  35. foreach( $phones as $phone ) echo $phone.'<br/>';
  36.  

Еще одно изменение - то что в качестве разделителя используется [^0-9]{0,3} а не [^0-9]{0,2} Шаблон [^0-9]{0,2} не находит соответствие если сразу после разделителя номера (например дефис) идет перевод строки. Возможно, это связано с тем, что в Windows новая строка \r\n. Вместе с дефисом - уже три.
evgenijj Отправлено: 10 Января, 2008 - 10:38:01 • Тема: Шаблон к preg_match • Форум: Программирование на PHP

Ответов: 9
Просмотров: 965
Dantesik пишет:
Спасибо огромное. Буду разбираться.

([0-9]{3}) - три цифры
[^0-9]{0,2} - 0,1 или 2 символа, кроме цифр. Я беру как max именно два, потому что может быть дефис, а потом пробел или превод строки
([0-9]{3}) - три цифры
[^0-9]{0,2} - 0,1 или 2 символа, кроме цифр
([0-9]{2}) - две цифры
[^0-9]{0,2} - 0,1 или 2 символа, кроме цифр
([0-9]{2}) - две цифры
Это будет соответствовать
xxxxxxxxxx
xxx xxx xx xx
xxx-xxx-xx-xx
xxx xxxxxxx
xxx xxx-xx-xx
и т.п.
Номера городских
(?:[0-9]{3}[^0-9]{0,2}[0-9]{3})|(?:[0-9]{2}[^0-9]{0,2}[0-9]{2}[^0-9]{0,2}[0-9]{2})
или так: [0-9]{3}[^0-9]{0,2}[0-9]{3}
xxx-xxx
xxxxxx
xxx xxx
Или так [0-9]{2}[^0-9]{0,2}[0-9]{2}[^0-9]{0,2}[0-9]{2}
xx xx xx
xx-xx-xx
xxxxxx

Вот, начал объяснять, и понял, что в моем решении есть ошибка. Номер телефона
123-456-78-90
123-456-78-90
будет найден два раза - сначала как мобильный, потом как городской. Надо бы делать так: удалять из сообщения найденные номера мобильных, а уже потом в этом урезанном объявлении искать городские номера.
evgenijj Отправлено: 10 Января, 2008 - 10:23:03 • Тема: Вместо форума - пустая страница! • Форум: Программирование на PHP

Ответов: 2
Просмотров: 201
legal пишет:
Существует ли такая проблема у движка ExBB? У некоторых пользователей при заходе на форум загружается пустая страница! У других (из других городов) работает нормально, в том числе у меня.


У ExBB столько проблем, что перечислять их все - много времени уйдет.
evgenijj Отправлено: 10 Января, 2008 - 09:56:50 • Тема: Шаблон к preg_match • Форум: Программирование на PHP

Ответов: 9
Просмотров: 965
PHP:
скопировать код в буфер обмена
  1.  
  2. $text = 'Таблица – конструкция базы данных, которая состоит из столбцов, 123-456-78-90 содержащих строки данных.
  3. Обычно таблицы созданы для того, чтобы содержать 6783452578 связанную информацию. В пределах той же самой базы
  4. данных могут быть созданы несколько таблиц.
  5.  
  6. Каждый столбец представляет собой атрибут или 567890 совокупность атрибутов объектов, например идентификационные
  7. номера служащих, рост, цвет машин и т.п. Часто в отношении 987-123 столбца используется термин поле с указанием
  8. имени, например "в поле Name". Поле строки является минимальным элементом таблицы. Каждый столбец в таблице имеет
  9. определенное имя, тип данных и размер. Имена столбцов 123 456-78-92 должны быть уникальны в пределах таблицы.
  10.  
  11. Каждая строка (или запись) представляет собой 87-22-16 совокупность атрибутов конкретного объекта, например, в 123-
  12. 456 строке может содержаться идентификационный номер служащего, размер его зарплаты, год его рождения и т.д.
  13. Строки таблиц не имеют названий. Чтобы обратиться к конкретной 745 123-4567 строке, пользователю необходимо
  14. указать какой-то атрибут (или набор атрибутов), уникально ее идентифицирующий.';
  15. // Ищем в объявлении мобильные телефоны
  16. $pattern = '#([0-9]{3})[^0-9]{0,2}([0-9]{3})[^0-9]{0,2}([0-9]{2})[^0-9]{0,2}([0-9]{2})#';
  17. preg_match_all( $pattern, $text, $matches );
  18. $cnt = count( $matches[0] );
  19. for ( $i = 0; $i < $cnt; $i++ ) {
  20.   echo 'Найден номер мобильного телефона: '.$matches[0][$i].'<br/>';
  21.   $phones[] = $matches[1][$i].$matches[2][$i].$matches[3][$i].$matches[4][$i];
  22. }
  23. unset( $matches );
  24. echo '<hr>';
  25. // Ищем в объявлении городские телефоны
  26. $pattern = '#(?:([0-9]{3})[^0-9]{0,2}([0-9]{3}))|(?:([0-9]{2})[^0-9]{0,2}([0-9]{2})[^0-9]{0,2}([0-9]{2}))#';
  27. preg_match_all( $pattern, $text, $matches );
  28. $cnt = count( $matches[0] );
  29. for ( $i = 0; $i < $cnt; $i++ ) {
  30.   echo 'Найден номер городского телефона: '.$matches[0][$i].'<br/>';
  31.   $phones[] = preg_replace( '#[^0-9]#', '', $matches[0][$i] );
  32. }
  33. echo '<hr>';
  34. foreach( $phones as $phone ) echo $phone.'<br/>';
  35.  

Результат
PHP:
скопировать код в буфер обмена
  1.  
  2. Найден номер мобильного телефона: 123-456-78-90
  3. Найден номер мобильного телефона: 6783452578
  4. Найден номер мобильного телефона: 123 456-78-92
  5. Найден номер мобильного телефона: 745 123-4567
  6. -------------------------------------------------------------
  7. Найден номер городского телефона: 123-456
  8. Найден номер городского телефона: 678345
  9. Найден номер городского телефона: 567890
  10. Найден номер городского телефона: 987-123
  11. Найден номер городского телефона: 123 456
  12. Найден номер городского телефона: 87-22-16
  13. Найден номер городского телефона: 745 123
  14. ------------------------------------------------------
  15. 1234567890
  16. 6783452578
  17. 1234567892
  18. 7451234567
  19. 123456
  20. 678345
  21. 567890
  22. 987123
  23. 123456
  24. 872216
  25. 745123
  26.  

Однако, фигня получилась - почему-то не работает preg_replace( '[^0-9]', '', $matches[0][$i] ). Надо еще подумать.

Догадался, почему. Исправил.
evgenijj Отправлено: 09 Января, 2008 - 19:14:42 • Тема: Help! Apache не пашет! • Форум: Apache и другие веб-серверы

Ответов: 23
Просмотров: 3100
80-ый порт занят. Может, IIS?
evgenijj Отправлено: 09 Января, 2008 - 18:35:06 • Тема: Шаблон к preg_match • Форум: Программирование на PHP

Ответов: 9
Просмотров: 965
Ничего не понял.

Есть текст, и в тексте встречаются строки
123456
12 34 56
12-34-56
1234567890
123 456-78-90
(123) 4567890
123-456-78-90
(123) 4567890
Вполне возможно, с ошибками
(123 4567890
123) 456-78-90
А еще какой-нибудь оригинал напишет
123*456*78*90

Я вообще немного разбираюсь в рег. выражениях, но за такую задачу не возмусь: "Пойди туда, не знаю куда, принеси то, не знаю что."

Надо формализовать задачу. Например, все, что имеет формат
xxxxxx
xx-xx-xx
xx xx xx
xxxxxxxxxx
xxx-xxx-xx-xx
xxx xxx xx xx
xxx xxx-xx-xx
xxx xxx-xxxx
где x - цифра, считаем номером телефона. Все остальное - нет. Тогда можно будет подумать.
evgenijj Отправлено: 09 Января, 2008 - 16:57:03 • Тема: Нужна помощь с написанием скрипта • Форум: Программирование на PHP

Ответов: 3
Просмотров: 243
Ничего не понял.

Есть некоторая таблица в БД, содержащая поля id, name, phone. Скрипт позволяет получить нужную запись, если искать по id или name. Т.е. запрос на выборку выглядит примерно так
SELECT * FROM mytable WHERE id=17;
SELECT * FROM mytable WHERE name='Sasha';
А тебе надо искать по номеру телефона? Т.е. есть несколько цифр, и надо найти id или имена, у которых номер телефона содержит, например 456
SELECT id, name WHERE phone LIKE '%456%';
Если номер телефона точно известен
SELECT id, name WHERE phone='123-45-67';
evgenijj Отправлено: 08 Января, 2008 - 22:36:50 • Тема: Help! Apache не пашет! • Форум: Apache и другие веб-серверы

Ответов: 23
Просмотров: 3100
andrew_l_l_l пишет:

Я сам новайс в этой теме - нифига не шарю. Так что help кто небудь Улыбка
Выдает вот такую фигню (на картинке): http://www.php.su/forum/uploads/...6dc5b1cded_1.gif

Синтаксическая ошибка в файле конфигурации Apache - httpd.conf. В строке 133. Надо исправить.

Установка Web-сервера Apache в связке с PHP 5 и MySQL
evgenijj Отправлено: 07 Января, 2008 - 18:45:52 • Тема: Проблемы с header • Форум: Программирование на PHP

Ответов: 3
Просмотров: 303
http://phpfaq[dot]ru/headers
evgenijj Отправлено: 07 Января, 2008 - 12:56:09 • Тема: Куки чудят!!! • Форум: Программирование на PHP

Ответов: 11
Просмотров: 601
kamikadze пишет:
Хм, еще мне кажется что пора бы сменить хостера, а то на скрипт заходит только с пятого раза


Ну, хостеров мы все любим поругать. Но еще раз повторю - без исходников это пустой разговор. Если cookie не видно лишь изредка - задача нетривиальная. Надо проверять, не пересекаются ли где-нибудь переменные - ведь register_globals=On. Т.е. возможна ситуация, когда переменная cookie перезаписывается другой переменной с тем же именем, например, переменной сесии
variables_order="EGPCS"
или какой-нибудь еще $user.

Вообще, надо по возможности предельно упростить эти три скрипта, и посмотреть будет ли проявляться проблема.

И что значит - пустая переменная? Равна пустой строке? Не определена? Что будет, если к этой переменной обратиться через массив $_COOKIE?
evgenijj Отправлено: 07 Января, 2008 - 09:14:56 • Тема: Помогите с кодировков • Форум: Программирование на PHP

Ответов: 1
Просмотров: 168
Никогда не работал с macromedia dreamweaver, но Yandex и Google как всегда помогли
http://www[dot]w1d[dot]de/dreamweaver/ru[dot][dot][dot]ification_dw.php

http://forum[dot]ru-board[dot]com/topic[dot][dot][dot][dot]1&topic=2097
http://forum[dot]ru-board[dot]com/topic[dot][dot][dot][dot]98&start=0#9
http://www[dot]wincity[dot]ru/index.php?[dot][dot][dot]d=40071&st=0
http://xpoint[dot]ru/forums/computer[dot][dot][dot]read/33108[dot]xhtml

Информации не то что много, а очень много...
evgenijj Отправлено: 06 Января, 2008 - 22:36:19 • Тема: xAJAX. Radio-button. • Форум: Программирование на PHP

Ответов: 8
Просмотров: 777
http://forum[dot]webmasterschool[dot]ru/[dot][dot][dot]&id_theme=83
evgenijj Отправлено: 06 Января, 2008 - 18:36:48 • Тема: Куки чудят!!! • Форум: Программирование на PHP

Ответов: 11
Просмотров: 601
kamikadze пишет:
Ну а что, обращаюсь обычно, регистр_глобалс=он )) потому как к переменной обращаюсь, но она ПУсТА... мистика блин.... думал плорер грешит


Цитата:
Ну и хотелось бы увидеть сами скрипты.


А то это будет гадание на кофейной гуще...
evgenijj Отправлено: 06 Января, 2008 - 18:36:02 • Тема: xAJAX. Radio-button. • Форум: Программирование на PHP

Ответов: 8
Просмотров: 777
Тогда выкладывай все исходные коды - будем смотреть, что там не так...
evgenijj Отправлено: 06 Января, 2008 - 16:50:27 • Тема: xAJAX. Radio-button. • Форум: Программирование на PHP

Ответов: 8
Просмотров: 777
Но читать-то ты умеешь? Заменить
document.getElementById('action').value
на
document.forms['myform'].elements['action'].value
в состоянии? И убрать атрибут id="action" из элементов input type="radio"
Разумеется, вместо myform надо написать имя твоей формы (атрибут name тега form)

Цитата:
Я просто Js не знаю

Как же ты AJAX осваивать собираешься?

Страниц (81): В начало « ... 19 20 21 22 [23] 24 25 26 27 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB