2013-12-13 23 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我只回答他的问题。因为那是他所问的。 –