草庐IT

string-matching

全部标签

PHP-PDO 错误 : An invalid keyword 'host' was specified in the DSN string

尝试连接到smarterasp.netdns上的mssql服务器,但到目前为止没有成功。之前与驱动程序有问题。安装它们并且它们运行良好(将它们添加到php.ini中)使用php版本:5.6,将以下内容添加到php.ini以便php-pdo-mssql工作:extension=php_pdo_sqlsrv_56_nts.dllextension=php_pdo_sqlsrv_56_ts.dllextension=php_sqlsrv_56_nts.dllextension=php_sqlsrv_56_ts.dll到目前为止我对这段代码做了什么:setAttribute(PDO::ATTR

php - 使用 query_string 在 php 中提供一些额外安全性的函数

几年前,我开始在页面顶部使用以下代码。我读到这很好并使用了它。但我想知道,这有帮助吗?$page="index.php";$cracktrack=$_SERVER['QUERY_STRING'];$wormprotector=array('chr(','chr=','chr%20','%20chr','wget%20','%20wget','wget(','cmd=','%20cmd','cmd%20','rush=','%20rush','rush%20','union%20','%20union','union(','union=','echr(','%20echr','echr%

php - preg_match 和长字符串

这是我试图用来在文本文件中查找特定文本的preg_match。if(preg_match($regexp,$textFile,$result)>0){echo"Found".$result[0];}else{echo"Notfound";}但是,结果总是Found,仅此而已。结果数组为空。现在我读到preg_match不能处理长字符串。我的文本文件大约有300KB,所以我猜大概有300000个字符。我100%确定搜索到的字符串在文本文件中,并且preg_match函数返回值大于0的事实意味着它找到了它,但它没有以某种方式将它放入结果数组中。所以我的问题是,如何让它发挥作用?regexp

php - preg_match 模式查找 <html> 和 </html> 标签之间的字符串内容

我正在开发一个PHP脚本来读取电子邮件的内容,并提取某些信息以存储在数据库中。使用imap_fetchbody($imap_stream,$msg_number,1),我能够获取电子邮件的正文。在某些情况下(尤其是从手机以短信形式发送的电子邮件),电子邮件的正文如下所示:===------=_Part_110734_170079945.1283532109852Content-Type:text/html;charset=UTF-8;Content-Transfer-Encoding:7bitContent-Disposition:inlineMultimediaMessageSMSt

PHP preg_match 需要确保单词之间只允许一个空格字符

基本上我需要一个preg_match来确保每个单词之间只允许一个空格字符(如果有多个单词)。我现有的规则是:(^[A-Za-z\s]+$)谢谢。 最佳答案 这取决于你所说的“单词”是什么意思,但假设你指的是A-Z或a-z中的字母,你可以试试这个:^[a-zA-Z]+([a-zA-Z]+)*$请注意,\s不是表示空格字符-它表示任何空格,包括换行符。 关于PHPpreg_match需要确保单词之间只允许一个空格字符,我们在StackOverflow上找到一个类似的问题:

php - 任何更快、更简单的 php preg_match 替代品

我使用的是cakephp1.3,我有用户提交文章的文本区域。提交时,我想查看文章中的某些关键词,并为文章添加相应的标签。我在考虑preg_match,但是preg_match模式必须是字符串。所以我将不得不遍历一个数组(大)。有没有更简单的方法来插入模式的关键字数组。非常感谢您的帮助。谢谢。 最佳答案 我建议将您的关键字数组视为哈希表。小写文章文本,按空格展开,然后遍历展开数组的每个单词。如果该词存在于您的哈希表中,将它插入一个新数组,同时跟踪它出现的次数。在这种情况下,我运行了一个快速基准测试,将正则表达式与哈希表进行比较。用正则

php - 为什么 PHP 将 String 转换为 Integer?

我想知道PHP在什么条件下决定何时将String转换为Integer以及其他方式例子:$key=0;$test='teststring';if($key==$test){echo"Why,tellmewhy!";}else{echo"That'sthewaylovegoes...";}我知道我应该使用“===”来获得更好的结果,但我很想知道为什么PHP决定将字符串转换为整数而不是相反。 最佳答案 来自PHP手册:avariable'stypeisdeterminedbythecontextinwhichthevariableisus

php - 为什么 mysql_real_escape_string 不认为这些字符是危险的?

我正在学习如何清理我的表单,并且知道使用PHP函数mysql_real_escape_string()有助于转义被视为“危险”或会破坏SQL语法的字符。我正在测试它并注意到它不会转义字符序列,例如--或/**/。这些注释不是SQL中的,它们不能破坏语句的语法吗?您将如何处理mysql_real_escape_string()未涵盖的这些和其他项目并真正净化您的表单? 最佳答案 它们永远不会破坏SQL语句,因为它们永远不会破坏字符串,因此您的字符串保持完整,保护您免受任何讨厌的注入(inject)。但这并不意味着您不想将它们从字符串中

php - 我如何将 preg_match 与字母数字和 unicode 接受一起使用?

我要用PHP建立一个多语言网站,需要有一个preg_match来传递所有Unicode字符和数字。即我需要它来传递英文字母、西类牙文字母、意大利文字母,正如您可能知道的那样,我不想传递其他字符,例如'"_-和...我想要这样的东西:$pattern='/^[unicodecharswithout\'-_;?]*$/u';if(!preg_match($pattern,$url))echo#error; 最佳答案 字母的Unicode属性是\pL所以在preg_match中:preg_match('/^\pL+$/u',$string

php - preg_match 允许反斜杠的问题

我遇到了一个关于preg_match()和反斜杠的奇怪问题。我正在尝试检查非法字符的用户名。它适用于几乎所有东西,但显然像“BobDobbs”这样的用户名正在通过。我已经设法使用strpos()轻松地解决了这个问题,但我仍然不确定我的语法有什么问题。运行PHP5.3.10。$displayname='BobDobbs\\\\';if(preg_match("/[^A-z0-9_.-]/",$displayname)){$errors[]='Namecontainsillegalcharacters';} 最佳答案 范围A-z包含\字