小编sym*_*ean的帖子

当存在点和下划线时,搜索并替换为sed

我该如何替换foo.用foo_与sed简单地运行

sed 's/foo./foo_/g' file.php
Run Code Online (Sandbox Code Playgroud)

不起作用.谢谢!

linux command-line sed

25
推荐指数
4
解决办法
6万
查看次数

nextElementSibling/nextSibling的可移植性

我正在写一部手风琴并遇到与IE和FF之间的下一个兄弟差异所描述的相同的问题 - 特别是Microsoft的nextSibling/nextElementSibling与其他人实现的差异.

由于各种原因,使用jquery不是一种选择.也没有让我所有的MS用户升级到MSIE9

目前我正在使用以下代码来解决此问题:

// tr is a TR doc element at entry....
while (nthRow--) {
     // for Chrome, FF tr=tr.nextElementSibling; for MSIE...tr=tr.nextSibling;
     tr=tr.nextElementSibling ? tr.nextElementSibling : tr=tr.nextSibling;
     if (!tr || tr.nodeName != "TR") {
            break;
     }
     tr.style.display="";
}
Run Code Online (Sandbox Code Playgroud)

这似乎做什么,我期待在MSIE6,FF和铬 - 即初始TR低于nthRow TR元素可见(以前的style.display ="无").

但这可能会产生意想不到的副作用吗?

(我是Javascript的新手;)

javascript nextsibling

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

PHP内部 - 使用什么错误记录功能?

我正在编写一个PHP扩展(虽然它开始看起来很像zend扩展).有些情况需要写入日志记录界面.

我看到zend_error()正在其他地方使用:

  • 在github上读取源代码我发现在zend/zend.h中声明了zend_error,但我找不到相应的函数定义

  • 查看使用zend_error的上下文,我怀疑调用将被set_error_handler重新路由/转移

通常情况下,日志记录将在MINIT和MSHUTDOWN(其中大概是由脚本定义的错误处理程序不能产生任何影响)发生,但有可能在倍之间,以及 - 我找一定的一致性.因此试图了解该机制的工作原理.

在MINIT/MSHUTDOWN中使用zend_error()是否安全?

我如何确保始终调用默认错误处理程序?

php c

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

MySQL数据库中所有行的精确计数

我目前正在使用该脚本

SELECT SUM(TABLE_ROWS) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'Tables';
Run Code Online (Sandbox Code Playgroud)

然而,它并不准确,因为我的MySQL表使用的引擎是InnoDB(我只是意识到这可能是一个问题,这些数据库已经存在了一段时间).

有没有办法用MySQL获取数据库每个表中每一行的精确计数?

干杯.

mysql sql database innodb

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

提交不工作?

我在要使用JavaScript提交的页面上有一个表单:

<script>
  function deleteFromlist(listname, listvalue)
  {
    if (confirm("Are you sure you want to delete this?")) {
       document.getElementById('fromList').value=listname;
       document.getElementById('deleteRecord').value=listvalue;
       document.getElementById('watchlistForm').submit(); // fails here
    }
  }
</script>
<form method='POST' 
   id='watchlistForm' 
   enctype='multipart/form-data' 
   action='process.php'> 
 <input type='text' name='fromList' id='fromList' value=''>
 <input type='text' name='deleteRecord' id='deleteRecord' value=''>
 <input type='submit' name='submit' value='submit'>
</form>
Run Code Online (Sandbox Code Playgroud)

javascript函数从href页面上其他位置的表中调用.它正确填充输入字段但失败并显示以下消息:

TypeError: document.getElementById(...).submit is not a function
     document.getElementById('watchlistForm').submit();
Run Code Online (Sandbox Code Playgroud)

如果我替换doc .... submit(); 同

alert(document.getElementById('watchlistForm').innerHTML
Run Code Online (Sandbox Code Playgroud)

然后我在警告框中得到预期的输出.于是

document.getElementById('watchlistForm') 
Run Code Online (Sandbox Code Playgroud)

确实解析为表单元素.

在表单上添加提交按钮按预期工作.

我不知道为什么这不起作用.

javascript forms

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

OpenID for dummies?

我正在考虑将openid小部件添加到我正在开发的工具包中.

其中一个重要的部分是保持UI尽可能简单 - 尽管有许多可用的openid工具,但它们主要依赖于提供一个文本输入框来输入URL - 但是如此处所示 - 有很多openID提供程序,使用通用URL作为端点 - 所以只需单击按钮/图像即可.我想提供这项服务.实际上,我想提供设施来限制提供商到批准的列表.

(我有来自不同提供商的openIds - 但不知道URL是什么 - 这并不妨碍我使用这样提供可点击登录的网站!)

不幸的是,Valdimir的openid类,Janrains PHP OpenID库,Dope OpenIdLightOpenId只提供了文本框.

在任何地方都有openID提供者URL的目录吗?有可再发行的图形?

我确实找到了IDselector.com(你需要一个OpenId才能访问大部分网站 - 但是他们没有在他们自己的网站上实现他们的小部件!!!!)但是不太清楚许可是什么.

我应该注意其他/更新的库吗?这篇SO帖子已有近3年的历史了!

TIA

C.

php openid

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

努力用PHP抓住asp.net

我试图使用PHP(5.6)和libcurl废弃网站.

该站点在asp.net中实现,可通过本地代理访问.站点使用HTTPS,因此不容易通过线路发送未加密的流量.

我在第一步失败了 - 登录.

$curl_options = array(
     CURLOPT_RETURNTRANSFER => true,
     CURLOPT_HEADER         => false,
     CURLOPT_SSL_VERIFYPEER => false,
     CURLOPT_PROXY          => 'http://localproxy.example.com:8080',
     CURLOPT_PROXYUSERPWD   => "$proxyUser:$proxyPass",
     CURLOPT_PROXYAUTH      => CURLAUTH_NTLM,
     CURLOPT_FOLLOWLOCATION => true,
     CURLOPT_WRITEHEADER    => false,
     CURLOPT_COOKIEJAR      => $curl_cookie_jar,
     CURLOPT_COOKIEFILE     =>  $curl_cookie_jar
 );

 ...
 $ch=curl_init();
 curl_setopt($ch, CURLOPT_URL, $entryurl);
 curl_setopt_array($ch, $curl_options);
 $reply=curl_exec($ch);
 curl_close($ch);
 ...
 $postdata=array(
     'username'=>'someuser', 'password'=>'s3cr3t',
     '__VIEWSTATE'=>$vstate, '__VIEWSTATEGENERATOR'=>$vsgen
 );

 $ch=curl_init();
 curl_setopt_array($ch, $curl_options);
 curl_setopt($ch,  CURLOPT_POST, true);
 curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postdata));
 $reply=curl_exec($ch);
Run Code Online (Sandbox Code Playgroud)

在浏览器中,事件序列如下:

  1. GET /结果302重定向到/Login.aspx?ReturnUrl=%2fIndex.aspx
  2. 重定向位置返回的登录页面
  3. 用户输入用户名和密码,然后点击提交类型的输入
  4. 用户名,密码,提交和2个隐藏输入(__VIEWSTATE和__VIEWSTATEGENERATOR)被POST回到相同的URL(/Login.aspx?ReturnUrl=%2fIndex.aspx)
  5. 服务器响应302重定向到/Index.asp
  6. 浏览器检索Index.asp(作为经过身份验证的用户)

但是,当我使用PHP脚本尝试此操作时,在步骤4之后,响应是步骤2.

我已经尝试将脚本指向本地非SSL网站,以检查Curl是否正在按照我的预期进行操作.它是.

分析

  1. 正在捕获和重放Cookie
  2. 正在填充所有必需的变量(包括__VIEWSTATE和__VIEWSTATEGENERATOR)并在POST中发回
  3. 内容未被缓存 - …

php asp.net curl

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

MySQL 独特的性能

当我向查询添加“distinct”时,查询时间从 0.015 增加到 6 秒以上。

我想加入几个表,这些表通过外键链接并从中获得一个不同的列:

select distinct table3.idtable3 from 
    table1
    join table2 on table1.idtable1 = table2.fkey
    join table3 on table2.idtable2 = table3.fkey
    where table1.idtable1 = 1 
Run Code Online (Sandbox Code Playgroud)

独特的查询需要 6 秒,这在我看来是可以改进的。

选择:

持续时间:0.015s / fetch:5.532s(5.760.434 行)

解释:

id, select_type, table, partitions, type, possible_keys, key, key_len, ref, rows, filtered, Extra
1   SIMPLE  table1      index   asd asd 137     10  10.00   Using where; Using index
1   SIMPLE  table2      ALL idtable2                200 25.00   Using where; Using join buffer (Block Nested Loop)
1   SIMPLE  table3      ref …
Run Code Online (Sandbox Code Playgroud)

mysql optimization innodb join distinct

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

为什么排序会失败?

我正在编写一个库例程,其中包括对嵌套数组进行一些相当复杂的排序.

我从文档中看到,所有数组排序函数(包括使用内置比较器的函数)都可以在失败时返回false - 但是什么时候会出现这种情况?

php sorting

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

Firefox - 记录ionmonkey编译和救助

我可以启动谷歌浏览器--js-flags="--trace-opt --trace-deopt"来获取V8优化器正在编译的内容以及优化执行的结果,但Firefox的离子是否有可比性?

javascript compiler-construction firefox ionmonkey

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