Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Тяжёлая задача на php для сайта (https://forum.antichat.xyz/showthread.php?t=73041)

MafiaBoy3 08.06.2008 09:13

Тяжёлая задача на php для сайта
 
Проблема в следующем:

Я делаю сайт на котором есть форма данные с которой уплывают в базу данных Mysql.

В одно из полей формы пользователь должен будет вводить слова через пробел.

К примеру так [быдла лох пожарник пропан мясо ....]

Так вот как мне сделать чтобы юзер мог ввести только 10 таких (любых) слов

Как сделать это на php?

nerezus 08.06.2008 09:28

Ну проверить количество слов перед запросом в БД

MafiaBoy3 08.06.2008 10:04

а как?
Пожалуйста покажи на примере уже несколько дней думаю может пробелы считать

mr.The 08.06.2008 10:06

PHP код:

<?php
echo count(explode(" ","раз два три"));
?>

примерно так

MafiaBoy3 08.06.2008 10:08

mr.The

а можешь детальней объяснить?

!{ra!{e/\/ 08.06.2008 10:10

ну проверить количество слов ты можешь посчитать только непосредственно через пробелы....
Код:

procedure tform1.parserx(var s:string);
 var i:integer;
 m:string;
 a:array of string;
 begin
 if s[1]=' ' then delete(s,1,1);
 if s[length(s)]=' ' then delete(s,length(s),1);

 i:=1;
 n:=1;
 s:=s+' ';
 while i<=length(s) do
  begin
  if s[i]=' ' then
    begin
    a[n]:=copy(s,1,i-1));
    b[n]:=a[n];
    delete(s,1,i);

    i:=0;
    n:=n+1;
    end;
    i:=i+1;

  end;
 end;

вот пример кода только он на дельфи..разберешься..

!{ra!{e/\/ 08.06.2008 10:12

хотя mr.The сделал правильнее....мой пример просто отделяет каждые слова..еще вырезай пробелы в начале и конце строки...если они там есть.

MafiaBoy3 08.06.2008 10:13

Лучше б на php

mr.The 08.06.2008 10:14

Цитата:

!{ra!{e/\/
это ж на дельфи 0_о ты походу разделом ошиблся)))
Цитата:

а можешь детальней объяснить?
функция explode развивает строку на построки(в данном случае делитель - пробел) и запаисывает в масив
а функция count считает длинну масива. ну echo, понятно, всё выводит))
Цитата:

еще вырезай пробелы в начале и конце строки
да ты прав. токгда лучше так
PHP код:

<?php
echo count(explode(" ",trim("раз два три  ")))
?>

функция trim очищает пробелы и переносы строки с начала и конца строки (0_о)

Jer1cho 08.06.2008 10:16

PHP код:

<html><head></head><body>
<form method='post' action=''>
<input type='text' name='data'>
<input type='submit'>
</form>
</body></html>
<?php
$data 
$_POST['data'];
$ar explode(' '$data);
if(
count($ar) > 10){
echo 
'no';
}
else {
echo 
'yes';
}
?>



Время: 02:02