我试图从单个单词没有空格的html属性中删除单引号和双引号。我写这个正则表达式这不工作:从html属性中删除单引号和双引号,除了href和src之外的所有属性上都没有空格
/((type|title|data-toggle|colspan|scope|role|media|name|rel|id|class|rel)\s*(=)\s*)(\"|\')(\S+)(\"|\')/ims
如何,而不是指定,我想去除引号中的所有HTML标记过,我宁愿只列出了几个属性,忽略像src和href和删除引号在所有其他属性名称上。所以我写了下面的那个,但是对我来说这是行不通的。它有一些如何检测除href和src之外的任何属性名称。我尝试了各种组合。
/((?!href|src)(\S)+\s*(=)\s*)(\"|\')(\S+)(\"|\')/i
我试过这个,但它不起作用。它只是将h和s从href和src的属性中删除。我知道我很接近但错过了一些东西。我在这花了5个小时。
工作示例
$html_code = 'your html code here.';
preg_replace('/((type|title|data-toggle|colspan|scope|role|media|name|rel|id|class|rel)\s*(=)\s*)(\"|\')(\S+)(\"|\')/i', '$1$5', "$html_code");
[相关](http://stackoverflow.com/a/4234491/471272)。 – tchrist