2013-12-13 24 views
0

我有一個包含ID爲普通的HTML一個HTML字符串:以下列方式S和類:的preg_replace ID = 「添加my_id」 使用id =添加my_id

<div id="my_id"></div> 

我想用PHP中的preg_replace函數來縮小的串以這樣的方式

<div id=my_id></div> 

換句話說,我要拆除包裝引號字符。我該怎麼做呢?

+0

那你試試,什麼地方出了錯?至少說明了一些努力:)(反正,你爲什麼要呢?消除這些2'「'將難以在文件大小noticable?) – Nanne

+3

你在玩火。好離開這個引號。 – Narek

+0

我不是很舒適的正則表達式是誠實的,所以我嘗試做一些非常醜陋的代碼通過串並移除引號循環。 –

回答

1

好吧,如果行情真正的問題,那麼試試這個:

$str = '<div id="my_id">say "good"</div><div id=\'sdafsdaf\'>la\'la</div>'; 

$str = preg_replace('/(<[^>]+\sid=)([\'"])([^\'"]+)\2/', '$1$3', $str); 

// <div id=my_id>say "good"</div><div id=sdafsdaf>la'la</div> 
var_dump($str); 

但我認爲保存這些 「引號」 只會帶來多大的好處,3%的可能,但像gzip這樣的壓縮方法通常可以節省70%。

+0

謝謝!是的,但我們需要這3%。當然,該文件是gzipped的。一切都被精簡以節省每一位帶寬(用戶負載)。 –

0

試試這個:

preg_replace('/"/', '', $matches) 
+1

是的,因爲html文檔中唯一的雙引號是圍繞標記屬性值的雙引號。 –

+1

爲什麼你需要'的preg_replace()'爲一些小事,因爲這?你永遠不想這樣做:它會將所有的雙引號替換爲單引號。 –

+0

@AmalMurali我只回答他的問題。因爲那是他所問的。 –