У меня есть строка, и я хочу контролировать содержимое строки.
содержат ( CR, LF or CRLF)
или нет?
if (no CR, LF or CF or LF) in string: echo 'no sepator'; else: echo 'have some separator';
Кто-нибудь здесь может сказать мне, как это сделать в php
эта функция проверяет, что строка ввода содержит любую комбинацию новых символов строки или нет.
function hasNewLine($str) { $found = false; foreach (array("\r", "\n", "\r\n", "\n\r") as $token) { if (strpos($str, $token) !== false) { $found = true; break; } } return $found; }
и есть другая версия этой функции, которая определяет, что данная строка заканчивается новыми строковыми символами:
function endsWithNewLine($str) { $found = false; foreach (array("\r", "\n", "\r\n", "\n\r") as $token) { $desiredPos = strlen($str) - strlen($token); if (strpos($str, $token) === $desiredPos) { $found = true; break; } } return $found; }
function hasNewLine($str) { return (strpos($str, "\n") !== false) || (strpos($str, "\r") !== false); } var_dump(hasNewLine("my stringn\n\rmy string"));
если вы ищете \n
в \n\r
вам не нужно искать \n\r
так как \n
уже находится в строке \n\r
.