$re = '/<([a-zA-Z\d]+?)([^<>]|(?!.*href).*)>([^<>]*?)(小编)([^<>]*?)(<\/\1>)/m';
$str = '<p>
<link rel="stylesheet" href="/public/lib/froala/css/froala_style.min.css">
</p>
<span>高校在线教学国际平台建设启动?这是怎么回事呢?下面就跟小编一起来了解一下事情的始末吧!</span>
<a href="">高校在线教学国际平台建设启动?这是怎么回事呢?下面就跟小编一起来了解一下事情的始末吧!</a>
<p><span style=\'color: rgb(34, 34, 34); font-family: Consolas, "Lucida Console", "Courier New", monospace; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;\'>高校在线教学国际平台建设启动?这是怎么回事呢?下面就跟小编一起来了解一下事情的始末吧!</span> </p>
<span style=\'color: rgb(34, 34, 34); font-family: Consolas, "Lucida Console", "Courier New", monospace; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;\'>以上就是小编给大家分享的相关情况介绍,希望对大家有所帮助!最后,小编送大家一句话:当许多人在一条路上徘徊不前时,他们不得不让开一条大路,让那珍惜时间的人赶到他们的前面去。——苏格拉底</span>';
$subst = "<$1$2>$3<a href=\"{link}\" target=\"_blank\">$4</a>$5$6'";
$result = preg_replace($re, $subst, $str);
echo "The result of the substitution is ".$result;
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php