Php preg_replace尝试中出现未知修饰符错误

Php preg_replace尝试中出现未知修饰符错误,php,regex,preg-replace,preg-match,Php,Regex,Preg Replace,Preg Match,所以我做了 $subject = 'sakdlfjsalfdjslfad <a href="something/8230">lol is that true?</a> lalalala'; $subject = preg_replace('<a href="something\/([0-9]+)">(.+?)<\/a>', '$1', $subject); echo $subject; 但后来PHP又回来了 warning: preg_rep

所以我做了

$subject = 'sakdlfjsalfdjslfad <a href="something/8230">lol is that true?</a> lalalala';

$subject = preg_replace('<a href="something\/([0-9]+)">(.+?)<\/a>', '$1', $subject);

echo $subject;
但后来PHP又回来了

warning: preg_replace(): Unknown modifier '(' 

我做错了什么?

模式需要分隔符--斜杠,例如

'/<a href="something\/([0-9]+)">(.+?)<\/a>/'
“/(.+?)/”

在模式周围需要分隔符:

$subject = preg_replace('#<a href="something/([0-9]+)">(.+?)</a>#', '$1', $subject);
$subject=preg#u replace(“##,”$1“,$subject);
PCRE(与Perl兼容的正则表达式)应该由分隔符包围,因此

<a href="something\/([0-9]+)">(.+?)<\/a>

<a href="something\/([0-9]+)">(.+?)<\/a>
/<a href="something\/([0-9]+)">(.+?)<\/a>/