php - переменной - перенос строки в браузере




Как определить, имеет ли строка в нем разрыв строки? (2)

line break - \r\n на окнах, а на машинах UNIX - \n . поэтому он ищет PHP_EOL вместо «\ n» для совместимости между ОС или ищет «\ r \ n» и «\ n».

Это не работает:

$string = 'Hello
    world';

if(strpos($string, '\n')) {
    echo 'New line break found';
}
else {
    echo 'not found';
}

Очевидно, потому что в строке нет символа «\ n». Но как еще я могу проверить, есть ли разрыв строки, который является результатом нажатия пользователем ввода в поле формы?


Ваш существующий тест не работает, потому что вы не используете двойные кавычки вокруг символа прерывания строки ( '\n' ). Измените его на:

if(strstr($string, "\n")) {

Или, если вам нужна совместимость между различными операционными системами:

if(strstr($string, PHP_EOL)) {

Также обратите внимание, что strpos вернет 0, и ваш оператор будет оценивать FALSE, если первый символ равен \n , поэтому strstr - лучший выбор. В качестве альтернативы вы можете изменить использование strpos для:

if(strpos($string, "\n") !== FALSE) {
  echo 'New line break found';
}
else {
  echo 'not found';
}






php