Есть форма и текстовое поле
<textarea id="value_mess" name="value_mess"><?php echo "".@$_POST['value_mess'].""; ?></textarea>
Задача: если в тестовом поле используются стоп-слова или если используется длинное слово, например более 25 символов, то что-то.
Отправляю на сервер:
//какой-то код
$post_value_mess = str_replace("\r\n","<br>",$_POST['value_mess']);
//еще какой-то код
$words = explode(' ', $post_value_mess);
$longword = false;
$stopword = false;
foreach ($words as $word) {
$check_word = str_replace(' ', '', $word);
if (strlen($check_word) > 25) $longword = true;
$stopWordsArray = [ 'black', 'green', 'blue' ];
foreach($stopWordsArray as $stopwords) {
if ($stopwords == strtolower($word)) {
$stopword = true;
break;
}
}
}
if ($stopword || $longword) {
if ($stopword) echo $check_word;
if ($longword) echo $check_word;
}
Так вот, если например в текстовом поле набираю, пытаясь найти длинное слово:
какой-то текст
еще
123kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk123
что-то еще
то результат:
еще
123kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk123
что-то еще
хотя результат ожидается таким:
123kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk123
А если в текстовом поле что-то набираю, пытаясь найти стоп-слово, и если оно есть среди текста, то в результате отображается не это слово, а последнее набранное в тексте слово.
Подскажите, пожалуйста, где ошибки и как этот код написать правильно?