使用正则表达式修复某些元素的宽度

时间:2011-08-28 14:28:06

标签: php html css regex

我正在将tinyMCE用于网站,我通常在其中粘贴Word旅游优惠,这会创建具有各种宽度的某些DIV,而我的主DIV(其中还包含tiny <textarea>为tinyMCE)大约550px宽。

我想使用正则表达式来减少我的主div内的所有可能元素的宽度到550px - 除了我以外的其他人也使用页面编辑器,他不知道如何手动修改单词的宽度-created元件。

1 个答案:

答案 0 :(得分:0)

使用php你可以preg_replace维度:

preg_match('"@[";\s]width\s*:\s*([0-9]{3,})px@', $html, $matches);

foreach($matches as $match)
{
    // if > 550 then make it 550
    if((int)$match[1] > 550)
    {
        $new = str_replace((int)$match[1], '550', $match[0]);
        $html = str_replace($match[0], $new, $html);
    }
}

请记住......

宽度也可以是ems或% 填充和边框添加到尺寸 漂浮的东西可以把它们放在一起

...出于这些原因,我建议您最好将overflow:hidden添加到主DIV