Вопрос по PHP и работе с массивом

Даниил

Mc. Shinoda
Вопрос по PHP и работе с массивом

Здравствуйте все, значит так, скажи пожалуйста как сделать условие:
Если в переменной $text имеется/имеются слова из массива $error_words то print "Тра ля ля";

С Уважением Даниил.
 

neko

tеam neko
определи "имеется/имеются"
в любом случае тебе понадобятся строковые функции
 

Даниил

Mc. Shinoda
Т.е. это как?
Ну я пытаюсь сделать программу которая проверяет ошибки, я ввожу текст в переменную $text и содержку в массиве ошибочные слова, так вот мне нужно как-то проверить есть ли такие слова в данной переменной и вывести сообщение о том, что такие есть.
 

neko

tеam neko
PHP:
in_array( preg_split( '/\s+/', $text ), array( 'слово1', 'слово2' ) );
это если у тебя слова разделены пробелами
 

neko

tеam neko
надо сначала разобраться как он работает
тут 2 функции, прочитай что они делают
 

Даниил

Mc. Shinoda
Я сделал так:

PHP:
for ($i = 0; $i < count($words); $i++) 
{    
 if (eregi($words[$i], $text)) {            
echo "<div style='color:red'>Есть слово!</div>";     
}  
}
 

neko

tеam neko
ну вот если так делать, то зачем тебе eregi?
есть строковые функции
например [m]strpos[/m]
 

neko

tеam neko
а зачем тебе регулярные выражения, когда они, очевидно, не нужны?
 

Фанат

oncle terrible
Команда форума
ему, наверное, нужно с учётом регистра.
то есть, stristr
я хотел замечание это сделать, а потом не стал. не принципиально же.
 

neko

tеam neko
ты наверное имеешь в виду _без_ учета регистра?
просто тогда eregi тем более не подойдет
оно локаль не воспринмает.
 

specialist

Guest
PHP:
$text = 'test';
$error_words[] = 'test';
$error_words[] = 'test2';
$error_words[] = 'test3';
$error_words[] = 'test4';

foreach ($error_words as $v) {
	if (strpos($text,$v)!==FALSE) {
		echo 'Тра ля ля';
	}
}
Без учёта регистра stripos(),
но только в PHP 5.x.x
 
Сверху