使用 php 删除跨度标签的正则表达式
Regex to remove span tags using php
以下很简单html我想删除所有跨度标签,只需要 0.65 值。请有人帮助我。
<span class="smw smw-inline smw-basic smw-ct-default smw-visible" data-symbol="GSD.V" data-type="inline" data-refresh-frequency="5" data-source="live">
<span class="smw-market-data-field smw-field-l1" data-field="l1">0.65</span>
</span>
您可以使用 preg_replace('/<[^>]*>/', '', $content);
删除所有标签
而且您也可以使用以下方法仅删除跨度标签 preg_replace('/<span[^>]+\>/i', '', $content);
:
<?php
$content = '<div><span class="smw smw-inline smw-basic smw-ct-default smw-visible" data-symbol="GSD.V" data-type="inline" data-refresh-frequency="5" data-source="live">
<span class="smw-market-data-field smw-field-l1" data-field="l1">0.65</span>
</span></div>';
echo $string = preg_replace('/<[^>]*>/', '', $content);
echo $new_string = preg_replace('/<span[^>]+\>/i', '', $content);
?>
我假设 PHP 和 Perl 在这方面足够相似......
s{\</?span[^>]*/?>}{}gism
hth
您可以使用 preg_replace
和正则表达式:
<?php
$html = '<span class="smw smw-inline smw-basic smw-ct-default smw-visible" data-symbol="GSD.V" data-type="inline" data-refresh-frequency="5" data-source="live">
<span class="smw-market-data-field smw-field-l1" data-field="l1">0.65</span>
</span>';
$without_span = $html;
$without_span = preg_replace('#\n\r#', '', $without_span);
$without_span = preg_replace('#\n#', '', $without_span);
while(preg_match_all('#(<span.*?>)(.*?)(</span>)#', $without_span)) {
$without_span = preg_replace('#(<span.*?>)(.*?)(</span>)#', '', $without_span);
}
print_r($without_span);
请尝试下面的代码。
$string = '<span class="smw smw-inline smw-basic smw-ct-default smw-visible" data-symbol="GSD.V" data-type="inline" data-refresh-frequency="5" data-source="live">
<span class="smw-market-data-field smw-field-l1" data-field="l1">0.65</span>
</span>';
echo strip_tags($string);
以下很简单html我想删除所有跨度标签,只需要 0.65 值。请有人帮助我。
<span class="smw smw-inline smw-basic smw-ct-default smw-visible" data-symbol="GSD.V" data-type="inline" data-refresh-frequency="5" data-source="live">
<span class="smw-market-data-field smw-field-l1" data-field="l1">0.65</span>
</span>
您可以使用 preg_replace('/<[^>]*>/', '', $content);
而且您也可以使用以下方法仅删除跨度标签 preg_replace('/<span[^>]+\>/i', '', $content);
:
<?php
$content = '<div><span class="smw smw-inline smw-basic smw-ct-default smw-visible" data-symbol="GSD.V" data-type="inline" data-refresh-frequency="5" data-source="live">
<span class="smw-market-data-field smw-field-l1" data-field="l1">0.65</span>
</span></div>';
echo $string = preg_replace('/<[^>]*>/', '', $content);
echo $new_string = preg_replace('/<span[^>]+\>/i', '', $content);
?>
我假设 PHP 和 Perl 在这方面足够相似......
s{\</?span[^>]*/?>}{}gism
hth
您可以使用 preg_replace
和正则表达式:
<?php
$html = '<span class="smw smw-inline smw-basic smw-ct-default smw-visible" data-symbol="GSD.V" data-type="inline" data-refresh-frequency="5" data-source="live">
<span class="smw-market-data-field smw-field-l1" data-field="l1">0.65</span>
</span>';
$without_span = $html;
$without_span = preg_replace('#\n\r#', '', $without_span);
$without_span = preg_replace('#\n#', '', $without_span);
while(preg_match_all('#(<span.*?>)(.*?)(</span>)#', $without_span)) {
$without_span = preg_replace('#(<span.*?>)(.*?)(</span>)#', '', $without_span);
}
print_r($without_span);
请尝试下面的代码。
$string = '<span class="smw smw-inline smw-basic smw-ct-default smw-visible" data-symbol="GSD.V" data-type="inline" data-refresh-frequency="5" data-source="live">
<span class="smw-market-data-field smw-field-l1" data-field="l1">0.65</span>
</span>';
echo strip_tags($string);