2017-06-15 72 views
-2

以下是簡單的html我想刪除所有span標籤,只是想要0.65的值。請有人幫我解決這個問題。正則表達式使用php刪除span標籤

<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> 
+1

使用DOM解析器。 – anubhava

+0

你能爲我寫下代碼 –

+0

你可以使用strip_tags()。 http://php.net/manual/en/function.strip-tags.php – Fetrarij

回答

1

您可以刪除使用preg_replace('/<[^>]*>/', '', $content);

所有標籤,你也可以刪除使用這隻span標籤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); 
?> 
0

我假設PHP和Perl此非常相似。 ...

s{\</?span[^>]*/?>}{}gism

個心連心

0

您可以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>)#', '$2', $without_span); 
} 

print_r($without_span); 
0

請嘗試以下代碼這一點。

$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);