Intereting Posts

новый вопрос

Я хочу обнаружить возврат каретки или символ новой строки, когда пользователь вводит данные в текстовое поле. Каков наилучший способ справиться с этим? Я попытался str_replace с escape-символами, но возврат каретки и строки новой строки не обнаружены.


ОК, скажем, я введу следующее в текстовое поле:

The summer was hot this year but next year is supposed to be cooler. 

Я хочу обнаружить CR. В этом случае есть один.

Новые строки могут быть \ r, \ r \ n или \ n, в зависимости от клиента.

 $input = preg_replace('/\r\n?/',"\n",$input) 

будет стандартизировать все ваши новые строки в «\ n» независимо от того, откуда они пришли.

Вы можете сделать это так: str_replace:

 function replace_newline($string) { return (string)str_replace(array("\r", "\r\n", "\n"), '', $string); } 

Существует несколько способов сохранения новой строки. Некоторые системы используют только "\n" некоторые "\r" а некоторые "\r\n" . Вам нужно проверить как "\r" и "\n"

Попробуйте следующее. Для меня это всегда прелестно.

Вам нужно заменить \ n AND \ r, потому что система linux и система Windows используют разные символы для строк новой строки.

 $input = str_replace(array("\n","\r"),'',$input); 

Или проверьте на chr (10) и замените на это

Вы пробовали preg_replace потому что это можно использовать для замены регулярных выражений, а затем вы можете заменить с помощью \n или \r или любую комбинацию, которая вам нужна, хотя я считаю, что str_replace также работает нормально.

 function replace_newlines($string) { return preg_replace('/\r\n|\r|\n/', '', $string); }