草庐IT

php - 如何在新行中拆分单词?

这个问题在这里已经有了答案:ExplodePHPstringbynewline(19个回答)关闭4年前。我读过一些关于SO的答案,其中一个建议我执行以下操作,但结果我得到了array。基本上我们在搜索结果上,我们有这个:$term=$_GET['s'];如果我执行echo$term;我会得到America2018而我希望:Location:AmericaTime:2018我尝试使用爆炸:$term=explode("\n",$term);echo$term;但结果是Array

php - 全面的服务器端验证

我目前有一个相当强大的服务器端验证系统,但我正在寻找一些反馈以确保我涵盖了所有角度。以下是我目前正在做的事情的简要概述:确保输入不为空或太长转义查询字符串以防止SQL注入(inject)使用正则表达式拒绝无效字符(这取决于提交的内容)对某些html标记进行编码,例如(所有标记在存储在数据库中时都经过编码,有些在查询以在页面中呈现时进行解码)有什么我想念的吗?欢迎使用代码示例或正则表达式。 最佳答案 您不需要“转义”查询字符串来防止SQL注入(inject)-您应该使用准备好的语句。理想情况下,您的输入过滤将在任何其他处理之前发生,因

php - 第一句正则表达式

我正在使用正则表达式(与php/perl兼容)从某些文本中获取第一句。我意识到如果涵盖所有案例,这可能会变得巨大,但只是在目前“足够好”的事情之后。任何人为此得到现成的东西吗? 最佳答案 最终,您需要的是自然语言解析,这是极其困难的,而且仅靠正则表达式(甚至是增强型PCRE表达式)可能是不可能的。考虑这句话:SomuchforMr.Regexandhissentencematching.到目前为止给出的每个答案都会将其解析为两个句子,这甚至算不上极端情况-可以很合理地想象一段以“亲爱的亚当斯先生:”或类似内容开头的文本.您可以添加l

php - 将 array_key_exists 与 preg_match 结合使用

我正在尝试根据模式确定一个或多个匹配项是否存在于数组中,数组的例子:Array([author_id]=>1[channel_id]=>1[site_id]=>1[entry_id]=>6[url_title]=>test_title_with_file2[title]=>TestTitlewithfile[field_id_1_directory]=>1[field_id_4_directory]=>1[submit]=>Submit[entry_date]=>1278219110)我想确定field_id_x_directory键或多个键是否存在,如果存在,则循环遍历每个键并运行一

php - 正则表达式白名单问题

我有点困惑。我正在通过我编写的基本清理功能运行我的所有输入,以仅允许某些字符,但仍然允许使用诸如[]之类的字符。functionsanitize($input){$pattern="/[^a-zA-z0-9_-]/";$filtered=preg_replace($pattern,"",$input);return$filtered;}知道它为什么这样做吗? 最佳答案 您的模式字符串中有一个拼写错误导致了问题/[^a-zA-z0-9_-]您需要A-Z。顺便说一句:您可能对字符类[:alnum:]感兴趣和/或PCRE_CASELESS

php - 如何找到第一个 h3 标签的内容?

我正在寻找一个正则表达式来查找第一个的内容标签。我可以在那里使用什么? 最佳答案 您应该使用php的DOM解析器而不是正则表达式。您正在寻找这样的东西(未经测试的代码警告):$domd=newDOMDocument();libxml_use_internal_errors(true);$domd->loadHTML($html_content);libxml_use_internal_errors(false);$domx=newDOMXPath($domd);$items=$domx->query("//h3[position()

php - 如何将字符串拆分为单词对?

我试图在PHP中将一个字符串拆分为一个词对数组。因此,例如,如果您有输入字符串:"splitthisstringintowordpairsplease"输出数组应该是这样的Array([0]=>splitthis[1]=>thisstring[2]=>stringinto[3]=>intoword[4]=>wordpairs[5]=>pairsplease[6]=>please)一些失败的尝试包括:$array=preg_split('/\w+\s+\w+/',$string);这给了我一个空数组,并且preg_match('/\w+\s+\w+/',$string,$array);它

php - 带有特殊字符的正则表达式?

我正在寻找一个可以包含特殊字符的正则表达式,例如/\。'"简而言之,我想要一个可以匹配以下内容的正则表达式:可能包含小写可以包含大写可能包含一个数字可能包含空格可能包含/\。'"我正在制作一个php脚本来检查某个字符串是否具有上述内容,例如验证检查。 最佳答案 你要找的正则表达式是^[a-zA-Z0-9\/\\.'"]+$请记住,如果您使用的是PHP,则需要使用\来转义用于封装字符串的反斜杠和引号。在PHP中使用preg_match它应该是这样的:preg_match("/^[a-zA-Z0-9\\/\\\\.'\"]+$/",$v

PHP 正则表达式 - 1 个或多个整数的值

这个问题在这里已经有了答案:phpvalidateinteger(7个答案)关闭9年前。嘿,我正在尝试在PHP中执行输入验证,以确保输入的股票值至少为1个正整数,范围为0-9。不应包含任何特殊字符。例如,以下任何值都应该是有效的:703247534以下内容不应有效:asdf35/gdf../34.etc..我正在使用以下if语句来检查“$original_stock”的正整数值。if(preg_match("/^[0-9]$/",$original_stock)){$error.="Originalstockmustbenumerical.";}此外,我有一个价格字段,它应该被验证为i

PHP/SSH 正则表达式脚本/命令,用于从多个文件中删除相同的恶意软件代码

我的一个客户的服务器上感染了数千个文件的病毒。幸运的是,我在这个人的服务器上处理过很多其他恶意软件,这个看起来很容易做简单的正则表达式(他把他所有的网站都放在同一个帐户上:(但我正在和他一起解决这个问题).但基本上,与我见过的大多数恶意软件不同的是,它会在关闭好代码之前注入(inject)php(这使得很难确定什么是好代码/坏代码),当前的恶意软件总是添加一个新的.所以基本上,假设这里有好的代码:不是在require语句之后但在?>之前立即添加某种base64_decodeeval(当页面恰好以条件/复杂语句结尾时,这会使删除变得困难),这将始终添加以下代码新像这样:我不想在这里放置任