我正在使用 WordPress 和 phpBB 开发一个站点,您必须知道图像路径是由这些 CMS 生成的。我想要的是............在发送到浏览器之前保留输出............根据设备类型更改图像路径,最后输出正确的图像。
为什么要替换路径?
因为我的 NORMAL 图像是 180KB,我的 MEDIUM 图像是 90KB,我的 SMALL 图像是 30KB,像这样在每页上大约有 20 个图像,想象一下通过用较小的图像替换它来降低页面速度,用于小型和慢速设备. 还裁剪图像以仅突出显示较小设备的重要部分,因此更改尺寸不会解决我的问题。
我也不是在寻找 CSS3 媒体查询,因为我有不使用它们的特定原因。
什么对我有用?
由于我的首要任务是尽量减少页面加载时间,因此最好的解决方案是使用一些正则表达式,因为我没有在我的模板中使用任何 JavaScript 库。
如果没有 JavaScript 就无法实现这一点,那么我更喜欢不使用任何库的普通旧 JavaScript 方法,因为这将是我模板中唯一的 JavaScript 函数,为它加载整个库没有任何意义。
以下是我当时的事情应该是的做法。但是我不知道如何获得它。请帮忙。
请注意:-我对 PHP 非常陌生,在 Regex 和 JavaScript 上也是零。因此,请详细解释一下。
<?php ob_start (); ?> /* Start Buffering */
<div>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc pellentesque vestibulum fringilla. Nullam eget fermentum neque. Quisque ullamcorper fringilla quam, eu elementum nisl ornare vitae.</p>
<img src="images/desktop/pic1.jpg"/>
<img src="images/desktop/pic2.jpg"/>
<img src="images/desktop/pic3.jpg"/>
</div>
<?php ob_get_contents(); /* Get the Buffer */
if ($layout = 'mobile') {
/* replace <img src="images/desktop/pic1.jpg"/> with <img src="images/mobile/pic1.jpg"/>
/* replace <img src="images/desktop/pic2.jpg"/> with <img src="images/mobile/pic2.jpg"/>
/* replace <img src="images/desktop/pic3.jpg"/> with <img src="images/mobile/pic3.jpg"/>
The Folder-Name 'desktop' should be replaced by 'mobile'
*/
} else if ($layout = 'tablet') {
/* replace <img src="images/desktop/pic1.jpg"/> with <img src="images/tablet/pic1.jpg"/>
/* replace <img src="images/desktop/pic2.jpg"/> with <img src="images/tablet/pic2.jpg"/>
/* replace <img src="images/desktop/pic3.jpg"/> with <img src="images/tablet/pic3.jpg"/>
The Folder-Name 'desktop' should be replaced by 'tablet'
*/
}
ob_end_flush (); /* Send Output to the browser */
?>
$layout 的值由另一个 PHP 函数计算。
如果您认为这会是更好的方法,请随时提出完全不同的解决方案。