Php 如何使这个正则表达式否定

Php 如何使这个正则表达式否定,php,regex,regex-negation,Php,Regex,Regex Negation,我有以下代码: $content = eregi_replace('!([a-zA-Z0-9]+)', '<a href="http://www.example.com/link/\\1">\\1</a>', $content); $content=eregi_替换(“!”([a-zA-Z0-9]+),“$content”; 这很好,但我希望它忽略重复的词语 e、 g: !!堆栈 堆栈溢流溢出 他应该只获取第一个,忽略重复,这样就不会创建链接。使用,它是限制参数 $c

我有以下代码:

$content = eregi_replace('!([a-zA-Z0-9]+)', '<a href="http://www.example.com/link/\\1">\\1</a>', $content);
$content=eregi_替换(“!”([a-zA-Z0-9]+),“$content”;
这很好,但我希望它忽略重复的词语

e、 g:

!!堆栈 堆栈溢流溢出

他应该只获取第一个,忽略重复,这样就不会创建链接。

使用,它是
限制
参数

$content = '!stack! stack! !overflow! !overflow';
$newcontent = preg_replace('#!([a-zA-Z0-9]+)#','<a href="http://www.example.com/link/\\1">\\1</a>',$content,1);
$content='!堆栈堆栈溢流溢出';
$newcontent=preg#u replace('#!([a-zA-Z0-9]+)#','$content,1);

必须删除重复?请更详细地解释您想要获得的内容。您应该使用只会替换一次的内容,而不是像以前那样(当然,这不是不做您想做的事情的原因)。我认为OP希望将每个不同的单词替换一次。不止一个字。