2010-06-17 83 views
0

你好我的網站中的所有用戶都可以使用表格格式插入數據。該表可以是任何風格。但即時通訊使用正則表達式給這些表格我們的網站的標準格式。但即時通訊使用正則表達式它運作良好,但它是刪除colspan。但我需要colspan widout它表看起來很奇怪。 任何人都請告訴我我的正則表達式錯誤? 以下是我的正則表達式代碼:正則表達式的一些問題

$table=eregi_replace("<table[^>]*>","<table width='100%' border='0' cellspacing='0' cellpadding='0' class='tabularData'>", $table); 
$table= preg_replace('/style\s*=\s*(\'|").+(\'|")/i', '', $table); 
$table= preg_replace('/bgcolor\s*=\s*(\'|").+(\'|")/i', '', $table); 
$table=eregi_replace("<span[^>]*>","",$table); 

在此先感謝:)

+1

ereg函數已被棄用。 – kennytm 2010-06-17 09:35:28

+0

而且ereg和preg功能混合在一起更是如此。 – BoltClock 2010-06-17 09:36:06

+1

使用正則表達式解析HTML更是ewww。 :) – 2010-06-17 09:36:39

回答

1

您可以輕鬆風格的Javascript表。其實你應該。如果用戶計算出正則表達式(如果您未能正確實施;可能會出現這種情況),那麼在用戶代碼上運行正則表達式可能會導致安全問題。

// jquery table styling example (picks up all tables) 
$('table').css({ 
    'width': '100%', 
    'background-color': '#F00' 
}); 

希望它有幫助!

+0

不只是安全問題。該代碼可能會有錯誤,並將地獄,以維持 – simendsjo 2010-06-17 09:51:29

+0

寬*,而不是'與' – Sam 2010-06-17 10:05:01

+0

@ SAM謝謝!儘管在CSS中有一個很好的if/else功能! :) – Frankie 2010-06-17 15:04:22

1

不要使用正則表達式,而不需要那樣做。 使用DOM解析此。