我正在寻找一种只在一个preg_replace
$url = "stackoverflow";
if(!preg_match('/apple/',$url)){
$url = $url.".apple.com";
}
答案 0 :(得分:3)
$str = 'something';
echo preg_replace('/^(?:(?!apple).)*$/is', '$0.apple.com', $str);
ps:修饰符is
可能有用。
(?: )*
制作非捕捉模式。它匹配(?!apple)
的零个或多个实例。除apple
和$0
之外的任何内容都指示在匹配模式时获取整个字符串。上面建议的示例不一样,因为当字符串不以apple
开头时它将匹配任何内容,因为?!apple
条件仅在字符串的开头应用一次。