小编soo*_*oot的帖子

为什么浏览器在onclick的值中使用任何其他单词代替'javascript'时不会抛出错误?

我继承了一个网站,只是遇到了这种好奇心:

<a href="/delete"  onClick="jamoscript:return confirm('Do you really want to do that?');">Delete all</a>
Run Code Online (Sandbox Code Playgroud)

我可以显示包含它的页面并单击链接以获得与我将" jamoscript" 更改为" " 时完全相同的确认对话框javascript.在加载页面或单击链接时,Firebug控制台中不会显示任何诊断信息.嘿嘿?谷歌搜索jamoscript并没有发现任何有趣的东西.

任何人都可以解释这种行为吗?

html javascript

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

preg_offset_capture子数组*保证*的顺序是否增加偏移量?

我无法找到一个权威的答案,虽然我99.9%肯定这是真的.正如我所期待的许多其他代码所做的那样,依赖于它的接受答案是正确的.但真正了解某事的人preg_match_all(不是通过观察,而是通过指定的要求或指定的算法)可以确认这是保证行为吗?我无法从文档中收集它.

我的用例很简单:

preg_match_all("/$regexp/", $content, $matches, PREG_OFFSET_CAPTURE);
Run Code Online (Sandbox Code Playgroud)

我知道它$regexp不包含任何子模式,因此文档告诉我$matches[0]将是一个2元素数组的数组,其中每个子数组都有数字键0的元素,其中包含与模式匹配的字符串,以及数字键1包含$content匹配发生的偏移量.虽然通过增加偏移量来排序数组元素似乎是合理的,但是我没有看到需要的地方,如果不是这样的话就会出现错误.虽然我无法想象它是如何实现有用的效果的,但也许有一些方法可以实现preg_match_all多个线程附加其部分结果而不会合并到完全排序的顺序.

在我的特殊情况下,我只关心偏移,而不是匹配的字符串,但偏移量增加至关重要.因此,我使用腰带和吊带心态编码:

preg_match_all("/$regexp/", $content, $matches, PREG_OFFSET_CAPTURE);
$offsets = array();
foreach ($matches as $match) {
    $offsets[] = $match[1];
}
sort($offsets);
Run Code Online (Sandbox Code Playgroud)

换句话说,最后sort($offsets)是保证浪费周期吗?

如果它不会让我因为询问相关但可能是单独的问题而陷入困境,如果排序可能有用,那么采用SORT_REGULAR如图所示的默认标志或者SORT_NUMERIC明确指定是否会更多/更少/更有效内部产生的抵消preg_match_all必然是数字?

php regex arrays

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

通过ssh隧道转发端口9000的xdebug远程调试 - 如何使其工作?

我在Amazon EC2云中的"Amazon Linux"(Centos派生的)32位实例上运行XAMPP 1.7.3a.我下载/构建/安装了XDEBUG 2.1.0.phpinfo()输出中的相关项如下所示:

Directive                         Local Value  Master Value
xdebug.idekey                     ECLIPSE_DBGP ECLIPSE_DBGP
xdebug.default_enable             On           On
xdebug.remote_autostart           On           On
xdebug.remote_connect_back        Off          Off
xdebug.remote_cookie_expire_time  3600         3600
xdebug.remote_enable              On           On
xdebug.remote_handler             dbgp         dbgp
xdebug.remote_host                127.0.0.1    127.0.0.1
xdebug.remote_mode                req          req
xdebug.remote_port                9000         9000
xdebug.remote_log                 /opt/lampp/logs/xdebug_log
                                               /opt/lampp/logs/xdebug_log
Run Code Online (Sandbox Code Playgroud)

我使用PuTTY版本0.60中的SSH客户端从运行XP SP3的Windows笔记本电脑访问Linux机器.另外在笔记本电脑上我已经安装了Eclipse PDT(Helios Service Release 1 Build id:20100917-0705),我想我已经正确配置了使用端口9000进行XDEBUG远程调试.我说我,因为我'很难弄清楚如何做到这一点,以及如何使用Eclipse PDT.但我确实设法配置并使用端口9000在localhost(127.0.0.1)上使用XAMPP for Windows 1.7.3提供的网页运行的PHP代码的"远程"调试工作.服务器的phpinfo()输出在笔记本电脑,其PDT 能够调试是与上述相同,除了:

xdebug.idekey       my_username     no value
xdebug.remote_host  localhost       localhost
xdebug.remote_log   no value        no value
Run Code Online (Sandbox Code Playgroud)

我很确定这些差异与问题无关.事实上,xdebug.idekey最初是Linux上的"root novalue",然后我通过编辑php.ini并在启动apache的sudo-ed脚本中设置环境变量DBGP_IDEKEY来更改为ECLIPSE_DBGP,徒劳地希望让事情正常工作.

笔记本电脑和Linux机箱之间有防火墙和NAT路由器.所以我试图通过PuTTY ssh隧道使用端口转发来使Linux XDEBUG与Windows PDT通信.我一直在使用XT转发PuTTY几个月没有任何问题.我在PuTTY中设置了隧道,本地端口9000转发到Linux机箱上的9000端口,Linux机箱上的端口9000转发到127.0.0.1上的端口9000,PuTTY隧道面板显示:

L9000  host...amazonaws.com:9000
R9000 …
Run Code Online (Sandbox Code Playgroud)

php xdebug eclipse-pdt

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

Google地理编码API会返回ZERO_RESULTS以获取网络规范化地址

我已经看到几个关于获取用户认为正确的地址的ZERO_RESULTS的问题,这些问题通过纠正使用错误(例如,无法对地址进行urlencode)或通过将地址调整为谷歌期望的表格来解决(例如拼写出来) "street"而不是使用含糊不清的缩写"st").

但是我看到了几个地址,我的原始表单在网上被maps.google.com更正,然后正确显示地图上的位置.但是,将修正后的形式提供给地理编码API仍然会获得ZERO_RESULTS.

我通过下面的例子通过反复试验找到了删除城镇名称(吉尔福德),只留下邮政城镇(克雷加文),允许它地理编码到街道地址.在更正用户输入时,谷歌地图Web应用程序包括城镇(并更正其拼写).并且地理编码结果中的"formatted_address"字段实际上将城镇添加回(作为"地点").但是在地理编码的输入地址中存在城镇会导致它找不到任何结果.有谁能解释一下?这是关于英国地址的特别之处吗?Google的文档中是否有可能解释此行为的内容?

这是一个具体的例子:

原始地址:30 Drumnascumph Rd,Guildford,Craigavon,United Kingdom,BT63 6DU 地图更正为:30 Drumnascamph Road,Gilford,Craigavon,United Kingdom,BT63 6DU

原始地址和更正地址都提供了与地理编码相同的结果:

{"results" : [], "status" : "ZERO_RESULTS" }

如果我更改已更正的表单只是为了删除城镇(地区),那么地理编码结果将更改为:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "30",
               "short_name" : "30",
               "types" : [ "street_number" ]
            },
            {
               "long_name" : "Drumnascamph Road",
               "short_name" : "Drumnascamph Rd",
               "types" : [ "route" ]
            },
            {
               "long_name" : "Gilford",
               "short_name" : "Gilford",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "Craigavon", …
Run Code Online (Sandbox Code Playgroud)

google-maps google-maps-api-3 google-geocoder google-geocoding-api

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