2015-04-23 68 views
-1

在我的代碼使用用strip_tags我需要這麼剝去排除與內聯「顯示:無」標籤的字符串的所有標籤屬性,所以標籤是這樣的:自定義排除

<div style="display:none"></div> 

應保持不變。

什麼是最好的方法來實現這一目標?有沒有什麼辦法可以使strip_tags以這種方式工作?

+1

你嘗試過什麼嗎? –

+0

我在問「爲了達到這個目的,最好的方法是什麼?」因爲我不知道是否有一些簡單的方法可以做到這一點,所以我並不擅長使用正則表達式來編寫代碼,所以如果沒有簡單的方法去做,我將不得不編寫手動邏輯。 –

回答

0

我終於做到了,如:

$ DIV =的preg_replace( '/ <(/ DIV的風格=「顯示:?!?沒有)[^>] +> /', '',$格);

0

您可以使用正則表達式/< [^>] *>/

<?PHP 
$val = preg_replace('/<[^>]*>/', '', '<div style="display:none">tessss</div>') ; 
echo $val ; 
?> 

strip_tags的唯一可見的標記工作,但正則表達式是可以傳遞第二個參數的最佳方式

+0

這不工作 – treegarden

+0

@treegarden是什麼?我測試了這個代碼 –

+1

我認爲你的問題不對,我的意思是除了

之外的所有標籤都應該刪除 –

1

(想排除),以用strip_tags像

$str = "<html><div style='display:none'></div></html>"; 
    echo strip_tags($str, '<div></div>'); 

輸出將被<div style='display:none'></div>

+0

但是我需要其他的div沒有顯示:none屬性被刪除 –