preg_replace('/(\s|\-|\||\.|\,){2,}/', ' ', $contents)
在解析某些字符串时导致分段错误可能是由于耗尽了php.ini中定义的PCRE递归限制
我修改了regexp以使用非捕获组,但是,对于相同的内容,我仍然会收到Segmentation Fault 11。 修改后的RegExp:
preg_replace('/(?:\s|\-|\||\.|\,){2,}/', ' ', $contents)
最后,我将RegExp更改为(不使用任何分组):
preg_replace('/[\s-|.,]{2,}/', ' ', $contents)
这不会导致分段错误。
我从以下观察中得到以下疑问: