正则表达生成缩略图!?!?!(但这太疯狂了!)

Cry*_*key 6 regex tinymce thumbnails phpthumb

所以这是我的情况,以及我提出的解决问题的解决方案.我创建了一个包含TinyMCE的应用程序,允许用户创建用于发布的HTML内容.用户可以在其标记中包含图像,并拖动/调整影响IMG标记中最终宽度/高度属性的图像.这一切都很棒,用户可以包含图像并将它们调整大小/重新定位到所需的外观.但是一个大问题是我现在向客户端发送一个(可能)更大的图像,只是让浏览器将图像调整为请求的宽度/高度属性.所有带宽和丢失的加载时间....

所以我的解决方案是预处理我的用户标记内容,扫描所有IMG标记并解析出Height/Width/Src属性.然后将每个img的SRC标记设置为phpThumb请求,并将解析后的Height/Width传递到缩略图URL.这将创建缩小尺寸的图像(以CPU和缓存为代价优化带宽).您对此解决方案有何看法?我已经看过其他帖子,人们使用mod_rewrite做类似的事情,但我想影响页面服务上的内容,而不是在收到图片请求时操纵它们.....对这个设计的任何想法?

我需要一些精细细节的帮助,因为我的正则表达式技能需要一些工作,但我的时间很短,并承诺尽快支付我的技术知识债务.为了使正则表达式更容易,我可以肯定一些事情.只有需要此处理的img标签才会有一个width =""height =""属性(使用双引号和较低的套接文本,但我认为如果TinyMCE更改,匹配文本不区分大小写会更好)

所以正则表达式只匹配必要的Img标签,也许还有另外三个正则表达式来提取src,宽度和高度?

感谢大家.

Ric*_*son 3

我认为使用正则表达式是一个坏主意,你最好使用PHP Simple HTML DOM Parser之类的东西来解析它,然后你可以这样做:

// Load HTML from a string
$html->load($your_posted_content);

// Find all images 
foreach($html->find('img') as $element) 
       echo $element->src . '<br>';
Run Code Online (Sandbox Code Playgroud)