我正在这里进行正则表达式停电。如何再次捕获负面的lookbehind模式?
我正在尝试删除uri的方案(包括://
),除非它是http / https。我已经到了一半(或者我以为我是,下面的模式甚至没有编译),但我忘了如何实际捕获负面模式:
preg_replace( '~^(?<!https?)://~', '', $uri );
我怎么能这样做呢?
答案 0 :(得分:2)
快速思考:
preg_replace ('#^((http[s]{0,1}://)|([a-z]+://))#i', '$2', $uri);
答案 1 :(得分:1)
preg_replace('#^((?:.(?<!http))+://)#i', '', $uri);