我目前還沒有PHP可用,所以我會在Javascript上給你寫一個正則表達式,並且你可以輕鬆移植它。 (我會用RegExp對象,因此正則表達式就已經被引用爲你)
'<div style="height:100px;" id="main" >'.replace(new RegExp('<([a-zA-Z0-9]*)(.*([ \t\r\n]style[ \t\r\n]*=[ \t\r\n]*(("[^"]*")|(\'[^\']*\'))))*[^>]*>'), '<$1$3>')
== <div style="height:100px;">
'<div style=\'height:100px;\' id="main" >'.replace(new RegExp('<([a-zA-Z0-9]*)(.*([ \t\r\n]style[ \t\r\n]*=[ \t\r\n]*(("[^"]*")|(\'[^\']*\'))))*[^>]*>'), '<$1$3>')
== <div style='height:100px;'>
'<div style="height:100px;">'.replace(new RegExp('<([a-zA-Z0-9]*)(.*([ \t\r\n]style[ \t\r\n]*=[ \t\r\n]*(("[^"]*")|(\'[^\']*\'))))*[^>]*>'), '<$1$3>')
== <div style="height:100px;">
'<div dfg dfg fdg>'.replace(new RegExp('<([a-zA-Z0-9]*)(.*([ \t\r\n]style[ \t\r\n]*=[ \t\r\n]*(("[^"]*")|(\'[^\']*\'))))*[^>]*>'), '<$1$3>')
== <div>
'<div>'.replace(new RegExp('<([a-zA-Z0-9]*)(.*([ \t\r\n]style[ \t\r\n]*=[ \t\r\n]*(("[^"]*")|(\'[^\']*\'))))*[^>]*>'), '<$1$3>')
== <div>
所以它的一個正則表達式其中考慮到最可能出現的情況。
這是回答您的問題嗎?
(順便說一句,你可以,如果PHP的正則表達式支持它,它在多模式下工作代替那些[\ t \ r \ n]與空白簡寫)
的''從'風格滿足=「'到'最後出場的」'在標籤內。 – hjpotter92 2012-04-15 15:58:23
是的。它是我面對的。即時通訊已經使用我們控制避免。它應該是什麼? – user1334715 2012-04-15 15:59:59
我不確定,但是php-regex有'。+'匹配嗎? – hjpotter92 2012-04-15 16:01:53