证明这两个序列(以前都有效)
"`([\n\A;]+)\/\*(.+?)\*\/`ism" => "$1", // error
"`([\n\A;\s]+)//(.+?)[\n\r]`ism" =>"$1\n", // error
Run Code Online (Sandbox Code Playgroud)
现在在PHP 7.3中引发错误
警告:preg_replace():编译失败:转义序列在字符类偏移量4中无效
语境:考虑一下这个技巧,它可以从字符串中删除CSS注释
$buffer = ".selector {color:#fff; } /* some comment to remove*/";
$regex = array(
"`^([\t\s]+)`ism"=>'',
"`^\/\*(.+?)\*\/`ism"=>"",
"`([\n\A;]+)\/\*(.+?)\*\/`ism"=>"$1", // 7.3 error
"`([\n\A;\s]+)//(.+?)[\n\r]`ism"=>"$1\n", // 7.3 error
"`(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+`ism"=>"\n"
);
$buffer = preg_replace(array_keys($regex),$regex,$buffer);
//returns cleaned up $buffer value with pure css and no comments
Run Code Online (Sandbox Code Playgroud)
请参阅:https://stackoverflow.com/a/1581063/1293658
Q1 -任何想法什么是错,在这种情况下,正则表达式?该线程似乎表明它只是放错了反斜杠 https://github.com/thujohn/twitter/issues/250
Q2 -这是一个PHP 7.3的错误或与此代码正则表达式序列的问题?
问题总结:
Google V2 ReCapcha 取消了所有页面速度调整工作,这些工作只是为了加载小“不可见”[不是真正不可见] iFrames
情况:
得到了一个很棒的 SEM 登陆页面,构建良好,压缩,缩小的 JS/css,CDN,最小字体快如闪电,99% A 页面速度得分...
但是一旦JS层被激活
Google V2 Invisible ReCapcha 尝试处理页面上的 3 个 FORM 元素(潜在客户表单、时事通讯和基于 Twilio 的 SMS“点击通话”表单)速度得分受到影响(并且不是可接受的程度,严重程度)
多年来一直是一个问题,一直都知道它,但想现在也许有解决方案吗?
所有表单都是 100% AJAX。使用其他东西也可以,也许是 V3?异步延迟,尝试使用延迟和不延迟 - 仅从 Google 传递 JS 文件的加载时间似乎“不合理”...(尝试抓取 JS 文件并在本地提供它们,无论如何都是非正统且“不起作用”)
接受建议。
javascript performance pagespeed invisible-recaptcha grecaptcha