小编Bot*_*tyZ的帖子

图像断点 srcset - 如何处理在中间视口尺寸中使用的较大图像?

我一直在研究一个新的响应式网站设计,我有一个画廊,其中包含一个图像网格,当浏览器视口为 768 像素或以上时,跨越 4 列宽(因此每个图像大约占视口的 25%)。任何 767px 或更低的东西都只有 1 列宽(在较低的分辨率下使其全宽)。

  • 桌面大小(超过 768 像素)的图像应为 220 像素宽(4 个图像列)。
  • 480 像素和 767 像素之间的宽度应不超过 420 像素(1 个图像列)。
  • 并且移动尺寸(低于 479 像素)应最大为 260 像素宽(1 个图像列)。

每个图像我有三个来源。220 像素、260 像素和 420 像素。

从上面可以看出,尺寸不遵循视口越小图像越小的常规约定,因此我一直在研究和尝试各种选项。

根据建议,我一直在隐身模式下使用谷歌浏览器,并为 Internet Explorer 进行私密浏览,在加载页面之前浏览器视口很小,等等......以确保我所做的任何更改都得到更新。

我所使用的当前代码是我最接近使其工作的代码,它在堆栈溢出时遵循某人的查询(类似于我的)的答案。但是,在尝试实现它时,我似乎仍然无法让浏览器加载正确的图像,它总是加载较大的 420 像素宽图像。

我的代码目前是这样的:

<img sizes="(min-width: 767px) 420px, 100vm"
    srcset="images/thumbs/image_420.jpg 420w,    
            images/thumbs/image_260.jpg 260w,    
            images/thumbs/image_220.jpg 220w"    
       src="images/thumbs/image_220.jpg"
       alt="example image"
/>
Run Code Online (Sandbox Code Playgroud)

我在讨论这个主题时的第二个查询。最好将我的场景中的默认 img src 设置为 260px 图像吗?因为如果 srcset 不被理解,这将涵盖桌面和移动浏览器,并且只有中等大小的视口(460-767px)会受到影响。还是最好将默认图像设置为最小尺寸?

任何建议将不胜感激,谢谢。

- 编辑 -

只是一个快速更新,我以为我昨天已经从逻辑上弄清楚了,但它没有用,所以我不确定我是否仍然理解计算的整个概念。我最近的编辑看起来像这样:

<img sizes="(min-width: 460px) 420px, (min-width: 768px) 220px, 100vm"
    srcset="images/thumbs/image_420.jpg …
Run Code Online (Sandbox Code Playgroud)

image responsive-design srcset

2
推荐指数
1
解决办法
1629
查看次数

使用preg_match将字符串提取到:&|之间的数组中 人物

我正在尝试从字符串中提取序列号以进行匹配比较,并认为使用preg_match可能是可行的,但是我在正则表达式方面苦苦挣扎。

有人可以提供任何帮助吗?

当前尝试如下:

$example = "CPM-200:0123456L|CPM-100:9876543L|CJ Pro:CJP33-011";

pre_match("/\:(.*?)\|/", $example, $matches);
var_dump($matches);
Run Code Online (Sandbox Code Playgroud)

目前,以上内容吐出:

Array(2) {
  [0]=> string(10) ":0123456L|"
  [1]=> string(8) "0123456L"
}
Run Code Online (Sandbox Code Playgroud)

但我实际上想将其提取为:

Array(0) {
  [0] => 0123456L
  [1] => 9876543L
  [2] => CJP33-011
}
Run Code Online (Sandbox Code Playgroud)

我从未对regex感到满意!我尝试了各种组合,而以上是我设法达到的最接近的组合。需要找到一个像样的在线教程。

php regex preg-match

2
推荐指数
1
解决办法
347
查看次数

我想将软件许可证密钥加密/解密到mysql数据库中

我想将软件许可证密钥存储在我的mysql数据库的一个字段中,但我希望以乱码格式存储许可证号,这样如果数据库被泄露,许可证密钥将无法使用.

许可证密钥字段有3种可能的方案:

  1. 它可能为null - 某些用户还没有存储在数据库中的许可证密钥.
  2. 它可能是25位数的许可证,每5个字符由一个超级分隔:例如:ABCD1-EFGH2-IJKL3-MNOP4-QRST5
  3. 它可能是10位数的许可证,所有这些都是数字,并且没有分隔符:例如:1234567890

我想在存储之前加扰许可证,然后在登录后向用户显示时,再次运行相同的加扰功能以解密许可证.

我想我需要先检查许可证的格式.

  1. 如果为0,则什么也不做.我可以在加载函数之前检查它是否为null.
  2. 如果是29,则使用连字符分隔符来混洗许可证的各个部分,例如2nd和4th,并且可以使用str_rot13来更改字母字符.
  3. 如果是10,请选择说出第3,第5,第7和第9个字符并更改其顺序.比如第5名第9名和第3名第7名.

我设置了以下内容:

    function scramble($scramblestr) {

    // check string length
    $length = strlen($scramblestr);

    // if 10 digit license (all numbers)
    if ($length == 10) {
        $1st = substr($scramblestr, 0, 1);
        $2nd = substr($scramblestr, 1, 1);
        $3rd = substr($scramblestr, 2, 1);
        $4th = substr($scramblestr, 3, 1);
        $5th = substr($scramblestr, 4, 1);
        $6th = substr($scramblestr, 5, 1);
        $7th = substr($scramblestr, 6, 1);
        $8th = substr($scramblestr, 7, 1);
        $9th = substr($scramblestr, 8, 1); …
Run Code Online (Sandbox Code Playgroud)

php mysql syntax-error scramble

1
推荐指数
1
解决办法
276
查看次数