Php 写一个更好的preg\u替换

Php 写一个更好的preg\u替换,php,preg-replace,expression,Php,Preg Replace,Expression,我有这个html代码 <span><style> .p9Wu{display:none} .JOz4{display:inline} .nitJ{display:none} .pIj0{display:inline} .AU2Q{display:none} .vDdS{display:inline} .THa1{display:none} .mRy1{display:inline} </style><span style="display: inline

我有这个html代码

<span><style>
.p9Wu{display:none}
.JOz4{display:inline}
.nitJ{display:none}
.pIj0{display:inline}
.AU2Q{display:none}
.vDdS{display:inline}
.THa1{display:none}
.mRy1{display:inline}
</style><span style="display: inline">69</span><span class="JOz4">.</span><span style="display:none">21</span><div style="display:none">21</div><span style="display: inline">65</span><span style="display:none">212</span><span class="AU2Q">212</span><span style="display: inline">.</span><span class="144">46</span><span style="display:none">69</span><span class="237">.</span><span style="display:none">11</span><span class="AU2Q">11</span><div style="display:none">11</div><div style="display:none">36</div><span style="display: inline">60</span><div style="display:none">152</div></span>

.p9Wu{显示:无}
.JOz4{display:inline}
.nitJ{显示:无}
.pIj0{display:inline}
.AU2Q{显示:无}
.vDdS{display:inline}
.THa1{显示:无}
.mRy1{display:inline}
69.212165212212.4669.1111113660152
在浏览器上查看时,会显示69.65.46.60 我想用PHP去掉html,只留下文本69.65.46.60

我不知道如何编写模式来获取类显示的第一个问题:无 我的preg_替换的第二个问题太长。有人能帮我把它改短一点吗?谢谢

这是我的php代码

$html = preg_replace('~<div([^>]*)(class\\s*=\\s*["\']p9Wu["\'])([^>]*)>(.*?)</div>~i', '', $html);
$html = preg_replace('~<div([^>]*)(class\\s*=\\s*["\']nitJ["\'])([^>]*)>(.*?)</div>~i', '', $html);
$html = preg_replace('~<div([^>]*)(class\\s*=\\s*["\']AU2Q["\'])([^>]*)>(.*?)</div>~i', '', $html);
$html = preg_replace('~<div([^>]*)(class\\s*=\\s*["\']THa1["\'])([^>]*)>(.*?)</div>~i', '', $html);

$html = preg_replace('~<span([^>]*)(class\\s*=\\s*["\']p9Wu["\'])([^>]*)>(.*?)</span>~i', '', $html);
$html = preg_replace('~<span([^>]*)(class\\s*=\\s*["\']nitJ["\'])([^>]*)>(.*?)</span>~i', '', $html);
$html = preg_replace('~<span([^>]*)(class\\s*=\\s*["\']AU2Q["\'])([^>]*)>(.*?)</span>~i', '', $html);
$html = preg_replace('~<span([^>]*)(class\\s*=\\s*["\']THa1["\'])([^>]*)>(.*?)</span>~i', '', $html);

$html = preg_replace('~<div([^>]*)(style\\s*=\\s*["\']display:none["\'])([^>]*)>(.*?)</div>~i', '', $html);
$html = preg_replace('~<span([^>]*)(style\\s*=\\s*["\']display:none["\'])([^>]*)>(.*?)</span>~i', '', $html);

$html = preg_replace('@<style[^>]*?>.*?</style>@siu', '', $html);

$html = strip_tags($html);
$html=preg\u replace('~]*)(class\\s*=\\s*[“\']p9Wu[“\'])([^>]*)>(.*?~i',''$html);
$html=preg\u replace('~]*)(class\\s*=\\s*[“\']nitJ[“\'])([^>]*)>(.*?~i','',''$html);
$html=preg\u replace('~]*)(class\\s*=\\s*[“\']AU2Q[“\'])([^>]*)>(.*?~i','','$html);
$html=preg\u replace('~]*)(class\\s*=\\s*[“\']THa1[“\'])([^>]*)>(.*?~i','','',$html);
$html=preg\u replace('~]*)(class\\s*=\\s*[“\']p9Wu[“\'])([^>]*)>(.*?~i','','$html);
$html=preg\u replace('~]*)(class\\s*=\\s*[“\']nitJ[“\'])([^>]*)>(.*?~i','',''$html);
$html=preg\u replace('~]*)(class\\s*=\\s*[“\']AU2Q[“\'])([^>]*)>(.*?~i','','$html);
$html=preg\u replace('~]*)(class\\s*=\\s*[“\']THa1[“\'])([^>]*)>(.*?~i','','',$html);
$html=preg\u replace('~]*)(style\\s*=\\s*[“\']显示:无[“\'])([^>]*)>(.*?~i','','$html);
$html=preg\u replace('~]*)(style\\s*=\\s*[“\']显示:无[“\'])([^>]*)>(.*?~i','','$html);
$html=preg_replace('@]*?>.@siu',''$html);
$html=带标签($html);

您可以像这样将div和span压缩在一起:

$html = preg_replace('~<(div|span)([^>]*)(class\\s*=\\s*["\'](p9Wu|nitJ|AU2Q|THa1)["\'])([^>]*)>(.*?)</\1>~i', '', $html);
$html = preg_replace('~<(div|span)([^>]*)(style\\s*=\\s*["\']display:none["\'])([^>]*)>(.*?)</\1>~i', '', $html);

$html = preg_replace('@<style[^>]*?>.*?</style>@siu', '', $html);

$html = strip_tags($html);
$html=preg\u replace('~]*)(class\\s*=\\s*[“\'](p9Wu | nitJ | AU2Q | THa1)[“\'])([^>]*)>(.*?~i',''$html);
$html=preg\u replace('~]*)(style\\s*=\\s*[“\']显示:无[“\'])([^>]*)>(.*?~i','','$html);
$html=preg_replace('@]*?>.@siu',''$html);
$html=带标签($html);

你必须这样做

对于打开跨度标记,请使用此preg

preg_replace('~\<span[^\>]*\>~is', '', $html);
preg_replace('~\<div[^\>]*\>~is', '', $html);
preg\u replace(“~\]*\>~is',”$html);
要关闭跨度标记,请使用此preg

preg_replace('~\<\/span\>~is', '', $html);
preg_replace('~\<\/div\>~is', '', $html);
preg\u replace(“~\~is',”$html);
要打开div标记,请使用此preg

preg_replace('~\<span[^\>]*\>~is', '', $html);
preg_replace('~\<div[^\>]*\>~is', '', $html);
preg\u replace(“~\]*\>~is',”$html);
要关闭div标记,请使用此preg

preg_replace('~\<\/span\>~is', '', $html);
preg_replace('~\<\/div\>~is', '', $html);
preg\u replace(“~\~is',”$html);
如果没有样式标记,请使用此

preg_replace('/<style\b[^>]*>(.*?)<\/style>/is', "", $html);
preg_replace('/]*>(.*?)/is','',$html);
希望这将有助于它将剥离所有标签,只有文字将保留