大多数PHP文档显示包含在斜杠中的正则表达式:
preg_replace( '/\s+/', ' ', $str );
我正在查看WP formatting.php的来源,并看到一些正则表达式用管道而不是斜线包裹。包裹在管道中的行为与包裹斜杠的行为有何不同?有什么功能差异吗?该文件中的一些示例是:
preg_replace( '|\s+|', ' ', $str ); # consolidate whitespace
preg_replace( '|%([a-fA-F0-9][a-fA-F0-9])|', '', $str ); # remove octets
答案 0 :(得分:3)
非斜杠分隔符(如竖线字符)可以更容易匹配斜杠,因为您不必转义它们。
preg_replace( '|/+|', '/', $str ); # collapse consecutive slashes in path