如何替换除"之后的所有换行字符使用PHP正则表达式


How to replace all newline characters except the ones after " using php regex

请给我一个正则表达式,用点(.)代替以下虚行中的换行符

我想替换换行符
的第一行我想替换换行字符
的第二行我想跳过这行,因为末尾有引号
第三行我想替换新行字符

预计


我想替换换行符的第一行。我想替换换行符的第二行。我想跳过这行,因为它末尾有引号"第三行我想替换新的行字符

你可以使用这个正则表达式:

$repl = preg_replace('/(?<!")('R|'z)/', '.', $input);

RegEx演示

  • 'R匹配任何Unicode换行符序列。
  • 'z断言位置在字符串的最后。
  • (?<!")是负向后看,以确保行结束前没有"