Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

28.08.2008, 09:59
|
|
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,188
Провел на форуме: 6023777
Репутация:
2642
|
|
Сообщение от ~NeiTRoN~
Прошу прощенья за тупой вопрос, но можно написать
регексп как он нормально пишется=)
Вот например - есть переменная
Код:
$a = 'Напомним, 27 августа страны НАТО обратились к России с требованием пересмотреть решение о признании независимости Абхазии и Южной Осетии. Напомним, накануне глава российского государства Дмитрий Медведев сообщил, что подписал указы о признании Российской Федерацией независимости Южной Осетии и независимости Абхазии, и призвал другие страны последовать этому примеру. США осуждают решение президента России признать в качестве независимых государств регионы Грузии Южную Осетию и Абхазию.';
Тогда код
Код:
echo substr($a, 0, 137);
Выведет 137 первых символов
Но если нам к примеру надо запихнуть в массив все предложения, то тут поможет регексп
Код:
print_r(preg_split('~\s*[.!?]\s*(?=.+)~i', $a));
|
|
|

28.08.2008, 10:19
|
|
Познающий
Регистрация: 03.07.2008
Сообщений: 65
Провел на форуме: 170237
Репутация:
4
|
|
Сообщение от NOmeR1
Вот например - есть переменная
Код:
$a = 'Напомним, 27 августа страны НАТО обратились к России с требованием пересмотреть решение о признании независимости Абхазии и Южной Осетии. Напомним, накануне глава российского государства Дмитрий Медведев сообщил, что подписал указы о признании Российской Федерацией независимости Южной Осетии и независимости Абхазии, и призвал другие страны последовать этому примеру. США осуждают решение президента России признать в качестве независимых государств регионы Грузии Южную Осетию и Абхазию.';
Тогда код
Код:
echo substr($a, 0, 137);
Выведет 137 первых символов
Но если нам к примеру надо запихнуть в массив все предложения, то тут поможет регексп
Код:
print_r(preg_split('~\s*[.!?]\s*(?=.+)~i', $a));
С substr я разобрался, а вот что выведет строка
Код:
print_r(preg_split('~\s*[.!?]\s*(?=.+)~i', $a));
чет не могу понять=((
|
|
|

28.08.2008, 10:27
|
|
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,188
Провел на форуме: 6023777
Репутация:
2642
|
|
Может откроешь книгу по пхп, заодно почитаешь про регулярные выражения?
|
|
|

28.08.2008, 10:34
|
|
Познающий
Регистрация: 03.07.2008
Сообщений: 65
Провел на форуме: 170237
Репутация:
4
|
|
Сообщение от NOmeR1
Может откроешь книгу по пхп, заодно почитаешь про регулярные выражения?
Да я читал, но я трудно понимаю когда просто функции и словестное описание ее работы. Вот допустим если показана функция и потом пример ее работы и того что она выводит, я гораздо лучше понимаю,
если не сложно скажи всетаки что выведет
PHP код:
print_r(preg_split('~\s*[.!?]\s*(?=.+)~i', $a));
=))
|
|
|

28.08.2008, 10:59
|
|
Познавший АНТИЧАТ
Регистрация: 30.04.2007
Сообщений: 1,206
Провел на форуме: 4778940
Репутация:
1257
|
|
Сообщение от Doom123
Gifts он скорее всего как и я не понел про какую точку с запятой идёт речь
я её после while только сейчас заметили и думал что вы говорите о };
действительно. там я и незаметил = ]
|
|
|

28.08.2008, 11:02
|
|
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
Провел на форуме: 5321514
Репутация:
3313
|
|
А зачем вообще точки с запятыми после циклов ставить?
|
|
|

28.08.2008, 11:04
|
|
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,188
Провел на форуме: 6023777
Репутация:
2642
|
|
~NeiTRoN~
По регуляркам ты ничего не читал
Ф-ция preg_split возвращает массив, разделяя текст на точку, воскл. знак или вопр. знак. Ф-ция print_r выводит этот массив.
Это регулярное выражение.
Помогать по регуляркам тебе никто не будет, до тех пор, пока не прочтёшь это
http://php.ru/manual/reference.pcre.pattern.syntax.html
http://php.ru/manual/reference.pcre.pattern.modifiers.html
|
|
|

28.08.2008, 15:52
|
|
Познающий
Регистрация: 19.08.2008
Сообщений: 61
Провел на форуме: 645169
Репутация:
68
|
|
интересно почему ?
Помогите со скриптом...
PHP код:
<?php $db_host = 'localhost'; $db_user = 'root'; $db_pass = ''; $db_name = 'phones'; $connect = mysql_connect ( $db_host, $db_user, $db_pass ); $db = mysql_select_db ( $db_name ); function result($phone_nomer, $phone_name, $phone_street, $phone_house, $phone_flat) { $s = "<tr><td class=tabl>{nomer}<td class=tabl>{name}</td><td class=tabl>{street}</td><td class=tabl>{house}</td><td class=tabl>{flat}</td></tr>"; $s = str_replace ( "{nomer}", $phone_nomer, $s ); $s = str_replace ( "{name}", $phone_name, $s ); $s = str_replace ( "{street}", $phone_street, $s ); $s = str_replace ( "{house}", $phone_house, $s ); $s = str_replace ( "{flat}", $phone_flat, $s ); return $s; } echo '<html> <head> <title>Он-лайн База городских номеров г.Астрахань</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <style type="text/css"> a:link {color: #9a9a9a; text-decoration: none;} a:active {color: #9a9a9a; text-decoration: none;} a:visited {color: #9a9a9a; text-decoration: none;} a:hover {color: #000000; text-decoration: none;} input, textarea, select { background-color: #ffffff; border:#000000 1pt solid; color: #000000; font-size: 9px; margin: 0px; padding-bottom: 1px; padding-left: 2px; padding-right: 0px; padding-top: 0px; font-family: Verdana, arial, Helvetica; line-height: 9pt; } body, table { font-family: Verdana, arial, Helvetica; color: #000000; font-size: 11px; } .red { color: red } .tabl { border:#000000 1pt solid; } </style> </head> <body bgcolor="#f0f0f0">'; $form = "<form method='POST' name='submit'><table border=0> <td width='150'>Введите номер</td><td><input type='text' name='nomer' size='20'></td> <td width='150'>Имя</td><td><input name='name' type='text' size='20'></td> <td width='150'>Улица</td><td><input name='street' type='text' size='20'></td> <td width='150'>Дом</td><td><input name='house' type='text' size='20'></td> <td width='150'>Квартира</td><td><input name='flat' type='text' size='20'></td> <td width='150'> </td><td><input type='submit' name='phones' value='Искать'></td> </table></form>"; if (! isset ( $_POST ['phones'] )) { echo $form; } else { $phone_nomer = strip_tags ( htmlspecialchars ( $_POST ["nomer"] ) ); $phone_name = strip_tags ( htmlspecialchars ( $_POST ["name"] ) ); $phone_street = strip_tags ( htmlspecialchars ( $_POST ["street"] ) ); $phone_house = strip_tags ( htmlspecialchars ( $_POST ["house"] ) ); $phone_flat = strip_tags ( htmlspecialchars ( $_POST ["flat"] ) ); $error = 0; if ($phone_nomer == "" and $phone_name == "" and $phone_street == "" and $phone_house == "" and $phone_flat == "") { $error = 1; echo "<div class='red'>Вы не заполнили ни одного поля!</div><br>" . $form; die (); } elseif (! is_numeric ( $phone_nomer ) and $phone_nomer != "") { $error = 1; echo "<div class='red'>Номер телефона состоит из цифр!</div><br>" . $form; die (); } elseif (! is_numeric ( $phone_flat ) and $phone_flat != "") { $error = 1; echo "<div class='red'>Номер квартиры состоит из цифр!</div><br>" . $form; die (); } elseif ($error == 0) { $sql = "SELECT * FROM `phones` WHERE `nomer` LIKE '%$phone_nomer%' AND `name` LIKE '%$phone_name%' AND `street` LIKE '%$phone_street%' AND `house` LIKE '%$phone_house%'AND `flat` LIKE '%$phone_flat%'"; $query = mysql_query ( $sql, $connect ); $counts = mysql_num_rows ( $query ); echo "<b>Найдено " . $counts . " записи(ей)</b><br><br>"; echo $form. "<table border=0><tr><td width='100' class=tabl><b>Номер</b></td><td width='150' class=tabl><b>Имя</b></td><td class=tabl width='150'><b>Улица</b></td><td class=tabl width='75'><b>Дом</b></td><td class=tabl width='75'><b>Квартира</td></tr>"; for($i = 0; $i < $counts; $i ++) { $nomer = mysql_result($query,$i,"nomer"); $name = mysql_result($query,$i,"name"); $street = mysql_result($query,$i,"street"); $house = mysql_result($query,$i,"house"); $flat = mysql_result($query,$i,"flat"); echo result($nomer,$name,$street,$house,$flat); } echo "</table><br>"; } } ?>
при запросе номера выводит ошибку ...
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in Z:\home\172.16.12.35\www\phone\index.php on line 98
Найдено записи(ей)...
и вот еще что... при обновлении запроса, результаты не очищаються, нажимаю обновить Осел выдает запрос на отправку данных, как это убрать?
чтобы при обновлении были чистые поля для заполнения
Последний раз редактировалось Ha_Vi; 28.08.2008 в 16:04..
|
|
|

28.08.2008, 16:05
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме: 3941248
Репутация:
668
|
|
папробуй
$query = mysql_query ( $sql, $connect ) or die(mysql_error());
обнови страницу метатегом например
|
|
|

28.08.2008, 16:22
|
|
Познающий
Регистрация: 19.08.2008
Сообщений: 61
Провел на форуме: 645169
Репутация:
68
|
|
Сообщение от Doom123
папробуй
$query = mysql_query ( $sql, $connect ) or die(mysql_error());
No database selected
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|