我需要匹配所有这些开始标记:
<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)
我相信它说:
/,然后我有这个权利吗?更重要的是,你怎么看?
我做了很多搜索,还阅读了PHP $ _SERVER文档.对于在我的网站中使用的简单链接定义,我的PHP脚本使用哪个权限?
$_SERVER['SERVER_NAME'] 是基于您的Web服务器的配置文件(在我的情况下是Apache2),并根据一些指令而变化:(1)VirtualHost,(2)ServerName,(3)UseCanonicalName等.
$_SERVER['HTTP_HOST'] 基于客户的要求.
因此,在我看来,为了使我的脚本尽可能兼容而使用的正确方法是$_SERVER['HTTP_HOST'].这个假设是否正确?
后续评论:
我想在读完这篇文章之后我有点偏执,并注意到有些人说"他们不会相信任何一个$_SERVER变种":
http://markjaquith.wordpress.com/2009/09/21/php-server-vars-not-safe-in-forms-or-links/
http://php.net/manual/en/reserved.variables.server.php#89567(评论:Vladimir Kornea 14-Mar-2009 01:06)
显然,讨论主要是关于$_SERVER['PHP_SELF']为什么你不应该在表单action属性中使用它而没有适当的转义以防止XSS攻击.
我对上述原始问题的结论是$_SERVER['HTTP_HOST'],即使在表单中使用,也可以"安全"地使用网站上的所有链接,而不必担心XSS攻击.
如果我错了,请纠正我.
是否可以在没有安装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.
我试图通过一个简单的过滤器过滤所有小部件输出,但找不到任何钩子,并希望指向正确的方向.或者可能我的努力甚至不可能?
我的简单过滤器是这样的:
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的新手,但我可以解决.
我有一种感觉,答案是"这是不可能的",但我想要满足我的好奇心.
我有一些代码回应了\n是不可避免的:
echo "Hello \n";
echo "World!";
Run Code Online (Sandbox Code Playgroud)
我想简单地阅读该行(在代码输出中):
你好,世界!
...因此删除\n.
所以我想知道在PHP输出期间是否可以执行"退格"字符?
简单的东西 str_replace( "\n", 'backspace-character', $str );
使用error_reporting()或ini_set('error_reporting')在我的脚本中,两者之间是否存在功能差异?一种方法比另一种方法更受欢迎吗?
对于它的价值,我看到很多框架都在使用error_reporting(),但两个选项似乎只在运行时设置,然后在脚本执行后重置回php.ini中的默认值.
从源代码编译二进制文件时,生成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) 我是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) 我是PHP新手,但对事物有很好的掌握(还没有学过课程).
问题:
选择哪个?我的新联系表单的PHPMailer或mail().
表格很简单:
Your name:
Your email:
Subject:
Body:
Run Code Online (Sandbox Code Playgroud)
我每天有大约2,000名访客,每天收到大约10份提交,因此我不需要任何太过花哨的东西.=)
我头脑中的其他问题:
anti-spambot display:none CSS伎俩email_validator()函数的步骤吗?谢谢!运气好的话,我很快就会回答问题.大声笑
什么是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服务器重新启动将其删除.
我真的很喜欢规范的描述,但任何和所有信息都表示赞赏.