 
			
				02.08.2010, 19:44
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 
 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.12.2008 
					
					
					
						Сообщений: 4,201
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 по поводу проверки на пустую строку: trim + strlen, (ирония) если же ты хочешь уличить пользователя во вставке лишних пробелов, тогда регулярные выражения 
 
textarea не убирает ни пробелы, не переносы строк, ни табуляции. Так что отлаживай, где они у тебя там убираются 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				02.08.2010, 19:48
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.05.2010 
					
					
					
						Сообщений: 187
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		ну как проверить строку на наличие непечатаемых символов, и чтобы если в строке нету других символов так возвратить фолс 
проблема в том что оно просто очистит строку и всё таки напечатает пустоту, которая обвёрнута и зарегестрированна как сообщение, то есть не совсем то, тем более если пользователь написал типа "       цва       " то будет наверно потом "цва" а это не совсем конечно то что хотел видеть пользователь, и ещё от то что связано как сделать чтобы  пробел заменялся не один раз например для проверки я поставил к document.getElementById('txAr').value.replace(' ','-') и написал от что 
"тест тест   тест" а вывело "тест-тест тест" от такие пироги, я только знаю что я тут не правильно сделал и кажется что тут надо не реплейс, ну короче что тут надо?)  
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось Slawaq, 02.08.2010 в 20:05.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				02.08.2010, 20:07
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 
 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.12.2008 
					
					
					
						Сообщений: 4,201
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 список непечатаемых символов в студию. Как убрать пробельные символы выше сказали 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				02.08.2010, 20:18
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.05.2010 
					
					
					
						Сообщений: 187
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		ну я сам хотел бы ВЕСЬ список ну это типа такие как табуляция, перенос строки, пробел, ну я не знаю сколько их ну те которые по сути не отображаются но влияют на строку, да я понял с пробелом но я не понял чего несколько пробелов подряд стираются в один, от код отправки 
msg = document.getElementById('txAr').value;
  if(msg){
    msg = 'msg=' + encodeURIComponent(msg.replace(/[\r\n]+/g,'\v').replace(/ +/g,'-'));
    xmlhttp.open("POST","ajax.php",true);
    xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xmlhttp.send(msg);
}
а от ПХП код
 
<?PHP
if (isset($_POST['msg'])){
echo str_replace('>','>',str_replace('"','"',str_replace("'",''',str_replace('<','<',$_POST['msg']))))."<hr style='height:1px;background:silver;border:0px'>";
}
?>
и прием
 
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById('txAr').value = '';
    document.getElementById("commArea").innerHTML+=xmlhttp.responseText;
    }
  }
куда они убегают, я не знаю, может кто с чем-то похожим работал, знает как правильно?  
		
	
		
		
		
		
		
		
	
		
			
			
	
			
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				02.08.2010, 21:07
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 
 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.12.2008 
					
					
					
						Сообщений: 4,201
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от Slawaq
			
		
	 | 
 
	| 
		проблема в том что оно просто очистит строку и всё таки напечатает пустоту
	 | 
 
	
 
 не обязательно выводить ту же переменную
 
$s = '...';
$s2 = trim($s);
if( strlen($s2) == 0 )
    echo "обязательное поле";
echo $s;
	
 
	| 
		
			Сообщение от Slawaq
			
		
	 | 
 
	| 
		куда они убегают, я не знаю
	 | 
 
	
 
 для начала выясни в каком месте это происходит. Отлаживай, на клиенте это console.log, на сервере var_dump($var), error_log($var), file_put_contents(dirname(__FILE__).'/.log', var_export($var, TRUE), FILE_APPEND)  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				02.08.2010, 21:12
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 猫 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 07.06.2007 
					
					
					
						Сообщений: 7,504
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от Slawaq
			 
		
	 | 
 
	
		но я не понял чего несколько пробелов подряд стираются в один 
replace(/ +/g,'-')
 
	 | 
 
	
 
 не знаю что у вас за проблема пустых сообщений, у меня такой нет и за последние 7 лет сайтов с форумами и сервисами небыло. Не хотите пропускать "такие сообщения" проверяйте регой. А вообще есть такое слово бан. А от дибилов которые придумают писть мат через дефисы или транслитом или иероглифами ваша защита не поможет. проще поставить бан по кол-ву сообщений в секунду, минуту.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				02.08.2010, 21:17
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.05.2010 
					
					
					
						Сообщений: 187
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от x-yuri
			 
		
	 | 
 
	| 
		Отлаживай, на клиенте это console.log, на сервере var_dump($var), error_log($var), file_put_contents(dirname(__FILE__).'/.log', var_export($var, TRUE), FILE_APPEND)
	 | 
 
	
 
 я не сильно в этом силён, я не сильно вникаю в роботу своего сервера и я  ещё не очень хорошо умею работать на ПХП(так себе, базово пока что)  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				02.08.2010, 21:29
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.05.2010 
					
					
					
						Сообщений: 187
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от Gozar
			 
		
	 | 
 
	| 
		не знаю что у вас за проблема пустых сообщений, у меня такой нет и за последние 7 лет сайтов с форумами и сервисами небыло. Не хотите пропускать "такие сообщения" проверяйте регой. А вообще есть такое слово бан. А от дибилов которые придумают писть мат через дефисы или транслитом или иероглифами ваша защита не поможет. проще поставить бан по кол-ву сообщений в секунду, минуту.
	 | 
 
	
 
 та какой бан) это же гостевая книга, там надо только будет поставить задержку между сообщениями, может дето в 1-2 сек. ну короче, от например даже на этом форуме если идёт несколько пробелов подряд так оно его              как 1 видит, но при этом если несколько подряд переносов
 
так всё нормально, а у меня не так и не так, и я не могу понят чего так, или например вконтакте там тоже если подряд идут непечатаемые символы то оно их как один видит. 
Тут вдруг я вот что посмотрел, в Опере замена переноса на \v одно и тоже , если выводить это у Оперы, то это как обычный перенос а у всех других браузеров нет! и теперь у меня даже не переносит на новую строку, короче я в шоке всеми этими не большими проблемами, которых очень много! короче у кого есть валидатор или статья по нему для текста на всякие эти СПЕЦ символы, если вообще это есть.?)  
		
	
		
		
		
		
		
		
	
		
			
			
	
			
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				02.08.2010, 22:08
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 猫 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 07.06.2007 
					
					
					
						Сообщений: 7,504
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Slawaq, 
 То, что вам нужно это  RegExp, идите и изучайте, не так уж это и сложно. Они есть и для js и для php.
 
ps: и излагать мысли тоже подучитесь, вас сложно понять  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				02.08.2010, 22:52
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 
 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.12.2008 
					
					
					
						Сообщений: 4,201
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от Gozar
			
		
	 | 
 
	| 
		ps: и излагать мысли тоже подучитесь, вас сложно понять
	 | 
 
	
 
 +1  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |