以下是php中preg_replace()
函数的语法:
$new_string = preg_replace($pattern_to_match, $replacement_string, $original_string);
如果文本文件同时具有Windows(rn)和Linux(n)行尾(EOL)字符,即换行符。
那么以下哪一项是应用preg_replace()
来摆脱所有行尾字符的正确顺序?
首先删除cr
$string = preg_replace('|rn|','',$string);
$string = preg_replace('|n|','',$string);
首先删除普通的nl
$string = preg_replace('|n|','',$string);
$string = preg_replace('|rn|','',$string);
答案 0 :(得分:2)
我建议使用:( Windows,Unix和Mac EOL字符)
$string = preg_replace('/\r|\n/m','',$string);
注意m
多行修饰符。
答案 1 :(得分:0)
使用正则表达式的强大功能,您可以指定类似
的内容'|[\r][\n]|'
具体是指0或1'\ r',然后是0或1'\ n',它们将匹配linux和windows下的行尾。
编辑: 使用内置函数trim将以更好的方式获得相同的结果,但前提是换行符位于字符串的开头或结尾。
答案 2 :(得分:0)
以下哪一项是应用preg_replace来摆脱所有行尾字符的正确顺序?
$string = preg_replace("!\r|\n!m",'',$string);