$re = '~class=\"\"pinyin\"\">(.*?)<script>(?:(?!<script>).)*~m';
$str = '<br>
<span class=""b"">拼音:</span><span class=""pinyin"">xī<script>Setduyin(\'Duyin/xi1\')</script></span> <span class=""b"">注音:</span><span class=""pinyin"">ㄒㄧ<script>Setduyin(\'Duyin/xi1\')</script></span><br>
<span class=""b"">简体部首:</span>丨 <span class=""b"">部首笔画:</span>1 <span class=""b"">总笔画:</span>8<br><span class=""b"">ç¹ä½“部首:</span>åœã€€<span class=""b"">部首笔画:</span>2 <span class=""b"">总笔画:</span>8<br><span class=""b"">康熙å—典笔画</span>( å¥:8ï¼› )';
$subst = "-";
$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