Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Тексты > поиск слова "youtube"


Автор: supervladislav 28.5.2009, 15:34
подскажите я хочу чтобы в строке искалось  члово youtube ,без раздницы в каком регистре ,мне надо сделать так ,что бы слово находилось целиком внезависимости от того  где оно находится в строке)))вот делал всё как в мануале по preg_math 
но находит только слово без доп символов 
http://ru.php.net/manual/ru/function.preg-match.php

preg_match("^/\byoutube\b/i",$v1))

Автор: enof 28.5.2009, 15:36
Цитата(supervladislav @  28.5.2009,  16:34 Найти цитируемый пост)
^

че за хрень?
Код

#\byoutube\b#i


Добавлено через 1 минуту и 37 секунд
И включите наконец-то вывод ошибок.

Автор: supervladislav 28.5.2009, 16:17
preg_match("#\byoutube\b#i",$v1)  неработает    

Автор: enof 28.5.2009, 16:20
Все работает.

Автор: supervladislav 28.5.2009, 16:34
а есть ли функция которая просто ищет слово в другой строке 

Автор: enof 28.5.2009, 16:35
Есть. Вам сколько раз уже предлагали прочитать хоть какой-нибудь учебник?\
http://php.net/strpos

Автор: supervladislav 28.5.2009, 17:34
у меня имеет место быть вот такой сценарий   скажите пожалуйста почему условие с регулярным выражением не выполняется 
Код

if(is_string($_POST['adress']) and is_string($_POST['opisanie']) and $_SERVER['REQUEST_METHOD']=='POST'){
//$v1=mysql_escape_string($_POST['adress']);
//$v2=mysql_escape_string($_POST['opisanie']);

$v1=trim($_POST['opisanie']);
$v2=trim($_POST['adress']);


$u2=$db->sql_query("SELECT * FROM  ".$prefix."_academy  WHERE  login='".$inf['login']."' and  ss='$v2' ");

//echo(mysql_num_rows($u2));
echo $db->sql_numrows($u2); 
if($db->sql_numrows($u2)==0){
//echo $_POST['opisanie'];

$ff=strpos($v2,"youtube");


if($ff===true){
$t=time();
$n1=$db->sql_query("INSERT INTO ".$prefix."_academy (id,login,ss,date,info,act) VALUES('','$parse','$v1','$t','$v2','0')") or die(mysql_error());
}else{$msg.="ВЫ НЕВВЕЛИ НИЧЕГО";}
}else{$msg.="такая ссылка уже есть в базе данных";}
}else{$msg.="ССЫЛКА НЕ C YOUTUBE";}

Автор: enof 28.5.2009, 19:11
###, потому что ты ###  smile  smile 
Цитата(supervladislav @  28.5.2009,  18:34 Найти цитируемый пост)
условие с регулярным выражением не выполняется 

его здесь нет.
Код

$ff=strpos($v2,"youtube");
if($ff===true)

strpos возвращает int, и нафиг ты сравниваешь с true? Думаешь когда-нибудь совпадет?
Как вообще в голову может придти такая конструкция, когда перед глазами описание функции?
$v1 $v2 $ff $t $n1 $u2 - названия переменным не приудать? Думаешь приятно разбираться в этом ###?
Про оформление кода что-нибудь слышал?

Ну и как обычно:
Купи/скачай книгу и прочитай ее от корки до корки.


Автор: supervladislav 28.5.2009, 19:37
там было написано что возвращается false логично предположить что и true тоже есть

Автор: enof 28.5.2009, 20:15
False возвращается если подстрока не найдена, в другом случае возвращается позиция начала подстроки.
И где здесь True? Как можно здесь найти место этому?

Автор: youri 29.5.2009, 02:23
Цитата(supervladislav @  28.5.2009,  19:37 Найти цитируемый пост)
там было написано что возвращается false логично предположить что и true тоже есть

зачотная логика  smile 

Автор: SureGOOD 23.7.2009, 18:42
if($ff===true)
замените на
if($ff!==FALSE)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)