小编Jef*_*eff的帖子

除了XHTML自包含标记之外,RegEx匹配开放标记

我需要匹配所有这些开始标记:

<p>
<a href="foo">
Run Code Online (Sandbox Code Playgroud)

但不是这些:

<br />
<hr class="foo" />
Run Code Online (Sandbox Code Playgroud)

我想出了这个,并希望确保我做对了.我只抓住了a-z.

<([a-z]+) *[^/]*?>
Run Code Online (Sandbox Code Playgroud)

我相信它说:

  • 找一个小于,然后
  • 然后,查找(并捕获)az一次或多次
  • 然后找到零个或多个空格
  • 找到任何字符零次或多次,贪婪/,然后
  • 找到一个大于

我有这个权利吗?更重要的是,你怎么看?

html regex xhtml

1323
推荐指数
36
解决办法
270万
查看次数

PHP $ _SERVER ['HTTP_HOST']与$ _SERVER ['SERVER_NAME'],我是否正确理解了手册页?

我做了很多搜索,还阅读了PHP $ _SERVER文档.对于在我的网站中使用的简单链接定义,我的PHP脚本使用哪个权限?

$_SERVER['SERVER_NAME'] 是基于您的Web服务器的配置文件(在我的情况下是Apache2),并根据一些指令而变化:(1)VirtualHost,(2)ServerName,(3)UseCanonicalName等.

$_SERVER['HTTP_HOST'] 基于客户的要求.

因此,在我看来,为了使我的脚本尽可能兼容而使用的正确方法是$_SERVER['HTTP_HOST'].这个假设是否正确?

后续评论:

我想在读完这篇文章之后我有点偏执,并注意到有些人说"他们不会相信任何一个$_SERVER变种":

显然,讨论主要是关于$_SERVER['PHP_SELF']为什么你不应该在表单action属性中使用它而没有适当的转义以防止XSS攻击.

我对上述原始问题的结论是$_SERVER['HTTP_HOST'],即使在表单中使用,也可以"安全"地使用网站上的所有链接,而不必担心XSS攻击.

如果我错了,请纠正我.

php apache security owasp

153
推荐指数
6
解决办法
37万
查看次数

如何在没有VBA或宏的情况下循环excel?

是否可以在没有安装VBA或宏的情况下在Excel中迭代(循环)一组行?谷歌没有产生任何帮助.

=IF('testsheet'!$C$1 <= 99,'testsheet'!$A$1,"") &
IF('testsheet'!$C$2 <= 99, 'testsheet'!$A$2,"") &
IF('testsheet'!$C$3 <= 99, 'testsheet'!$A$3,"") &
... and so on through !$C$40, !$A$40 ...
Run Code Online (Sandbox Code Playgroud)

实际上,我将不得不在每个单元格中重复上述代码40次,并且我有200多个需要代码的单元格.吸气

我对PHP/SQL非常好,但只是学习Excel.

excel excel-formula

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

WordPress小部件(或侧边栏)挂钩存在吗?

我试图通过一个简单的过滤器过滤所有小部件输出,但找不到任何钩子,并希望指向正确的方向.或者可能我的努力甚至不可能?

我的简单过滤器是这样的:

function clean_widget_output( $input ) {
    return str_replace( array( "\t", "\n", "\r" ), '', $input );
}

add_[FILTER OR ACTION]( 'need_a_hook', 'clean_widget_output', 99 );
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?我是PHP的新手,但我可以解决.

wordpress widget filter

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

输出中的PHP"退格"字符可能吗?

我有一种感觉,答案是"这是不可能的",但我想要满足我的好奇心.

我有一些代码回应了\n是不可避免的:

echo "Hello \n";
echo "World!";
Run Code Online (Sandbox Code Playgroud)

我想简单地阅读该行(在代码输出中):

你好,世界!

...因此删除\n.

所以我想知道在PHP输出期间是否可以执行"退格"字符?

简单的东西 str_replace( "\n", 'backspace-character', $str );

php

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

error_reporting()和ini_set('error_reporting')之间的区别?

使用error_reporting()ini_set('error_reporting')在我的脚本中,两者之间是否存在功能差异?一种方法比另一种方法更受欢迎吗?

对于它的价值,我看到很多框架都在使用error_reporting(),但两个选项似乎只在运行时设置,然后在脚本执行后重置回php.ini中的默认值.

php error-reporting

12
推荐指数
2
解决办法
9747
查看次数

编译WITH_PIC(-DWITH_PIC, - with-pic)实际上做了什么?

从源代码编译二进制文件时,生成PIC对象之间的实际差异是什么?在某个时刻,有人会说,"我应该在编译MySQL时生成/使用PIC对象." 或不?

我已经阅读了Gentoo的位置无关代码简介,位置无关代码内部,HOWTO修复-fPIC错误,Libtool创建目标文件位置无关代码.

从PHP的./configure --help:

--with-pic:尝试仅使用PIC /非PIC对象[默认=同时使用].

来自MySQL的cmake -LAH .:

-DWITH_PIC:生成PIC对象

这个信息是一个好的开始,但给我留下了很多问题.

根据我的理解,它-fPIC在编译器中打开,编译器又在生成的二进制文件/库中生成PIC对象.我为什么要那样做?或相反亦然.也许风险更大或者可能使二进制文件更不稳定?编译某些体系结构时可能应该避免(在我的情况下是amd64/x86_64)?

默认的MySQL构建设置PIC = OFF.官方MySQL发布版本设置PIC = ON.而PHP"试图同时使用它们." 在我的测试中,设置会-DWITH_PIC=ON产生稍大的二进制文件:

          PIC=OFF     PIC=ON
mysql     776,160    778,528
mysqld  7,339,704  7,476,024
Run Code Online (Sandbox Code Playgroud)

gcc compilation cmake libtool

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

如何使用Excel VBA宏循环行?

我是VBA的新手,但对PHP非常好.话虽这么说,我正在努力与VBA循环......

我有40行称为"SH1"的这张表:

SH1

     A     B     C     D     E
 1   2   One    1.0a   12
 2   7   Two    2.0b   34
 3  13   Three  3.0c   56
 4  14   Four   4.0d   78
..
40
Run Code Online (Sandbox Code Playgroud)

我需要遍历40行并检查A列中的值.如果A列中的值符合我的条件(见下文),则生成一些输出并将其放入另一张表中.

我的输出表是3列,称为"SH2":

SH2

     A     B     C     D     E
 1  1.0a   12    One
    2.0b   34    Two
 2  3.0c   56    Three
    4.0d   78    Four
..
15
Run Code Online (Sandbox Code Playgroud)

我决定什么去哪里的标准:

// First loop:
if a1 < 8, put c1 in SH2 a1, put d1 in SH2 b1, put b1 in SH2 c1
if a2 < …
Run Code Online (Sandbox Code Playgroud)

excel vba loops excel-vba

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

PHPMailer v.mail()用于简单的联系表单

我是PHP新手,但对事物有很好的掌握(还没有学过课程).

问题:

选择哪个?我的新联系表单的PHPMailer或mail().

表格很简单:

Your name:
Your email:
Subject:
Body:
Run Code Online (Sandbox Code Playgroud)

我每天有大约2,000名访客,每天收到大约10份提交,因此我不需要任何太过花哨的东西.=)

我头脑中的其他问题:

  • PHPMailer是否会更好地保护我的联系表格免受CC:注入(主要关注)?我已经知道了这个anti-spambot display:none CSS伎俩
  • PHPMailer会省去我必须编写email_validator()函数的步骤吗?
  • PHPMailer是否会在任何其他时间保存我不得不编写任何自定义函数?

谢谢!运气好的话,我很快就会回答问题.大声笑

php

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

什么是PHP共享内存(mm, - with-mm)会话模块?

什么是PHP共享内存分配(mm,编译--with-mm)会话模块?

你用过吗?你测试过吗?它运作良好吗?你有会话锁定问题吗?

使用文件或自定义会话处理程序(如数据库)时,很容易查看会话数据的内容,但是可以使用此模块查看会话数据吗?想要查看会话数据的个人原因是(1)测试PHP垃圾收集是否正常工作,以及(2)确保它不会占用所有系统内存.

我认为它曾经是一个单独的(PECL?Zend?)扩展,但现在它是核心.

将其编译为PHP二进制文件的唯一要求是OSSP mm标题,这是一个小的~330k下载.

 $ ./configure --help

// --with-mm=DIR   SESSION: Include mm support for session storage
Run Code Online (Sandbox Code Playgroud)

我能找到的唯一信息来自2006年的留言板帖子,引用了一个现在缺少的Zend会话教程页面[404],作者引用了该文章:

如果您需要更高的性能,mm模块是一个可行的替代方案; 它将数据存储在共享内存中,因此不受硬件I/O系统的限制.

我理解其中两个限制:

(1)请注意,mm的会话存储模块不保证正确锁定对同一会话的并发访问.使用基于共享内存的文件系统(例如Solaris/Linux上的tmpfs或BSD上的/ dev/md)在文件中存储会话可能更合适,因为它们已正确锁定.(2)会话数据存储在内存中,因此Web服务器重新启动将其删除.

我真的很喜欢规范的描述,但任何和所有信息都表示赞赏.

php linux session module

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