這不起作用:如何檢測一個字符串是否有新的換行符?
$string = 'Hello
world';
if(strpos($string, '\n')) {
echo 'New line break found';
}
else {
echo 'not found';
}
顯然,因爲字符串沒有在它的「\ 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';
}
換行符\r\n
在Windows和UNIX機器上它是\n
。 所以它搜索PHP_EOL
而不是「\ n」以獲得跨OS兼容性,或者同時搜索「\ r \ n」和「\ n」。
如果兩個換行符都包含'\ n',那麼您只需要真正需要搜索'\ n'以便跨操作系統兼容 - 以簡單地「檢測」換行符。 – MrWhite 2014-08-04 23:35:38
嘗試用PHP_EOL替換'\ n'。 – 2012-02-24 19:53:33
也許你應該使用雙引號:''\ n「'或'preg_match('/ [\ n \ r] /') – biziclop 2012-02-24 19:53:52
你想知道如何提交表單嗎?如果是這樣,你將不需要。只要提交按鈕作出提交按鈕,它應該提交一個輸入。 – CoffeeRain 2012-02-24 19:54:09