How to detect if a string has a new line break in it?

前端 未结 3 1229
旧时难觅i
旧时难觅i 2021-02-02 08:17

This doesn\'t work:

$string = \'Hello
    world\';

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


        
3条回答
  •  长情又很酷
    2021-02-02 08:42

    Your existing test doesn't work because you don't use double-quotes around your line break character ('\n'). Change it to:

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

    Or, if you want cross-operating system compatibility:

    if(strstr($string, PHP_EOL)) {

    Also note that strpos will return 0 and your statement will evaluate to FALSE if the first character is \n, so strstr is a better choice. Alternatively you could change the strpos usage to:

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

提交回复
热议问题