草庐IT

PREG_REPLACE_EVAL

全部标签

php - 使用 str_replace 是否足以防止 SQL 注入(inject)攻击?

编辑如果您打算回答这个问题,请至少阅读它。不要简单地看标题,然后谷歌'sqlinjectionphp',并将结果粘贴为答案首先,我很清楚有很多资源可用于如何最好地防止SQL注入(inject),但我的问题具体是关于是否只需很少的努力就足够了。我签约的一个组织最近被告知,他们之前的承包商开发的合作伙伴(PHP)网站被发现存在重大安全问题(我个人最喜欢的是在URL中使用字符串“紧急”,您可以获得未经身份验证的信息访问站点中的任何页面...)我被要求审查PHP站点的安全性并突出显示任何主要问题。我从以前使用该站点的经验中知道,编码标准确实很糟糕(例如,跨页面重复的大量代码,差异约为5%,数百

php - str_replace 干扰

我正在尝试使用str_replace将两个字母的语言缩写转换为完整的单词。我遇到的问题是它们在回显时会相互影响。$lang=str_replace("en","English",$lang);$lang=str_replace("es","Spanish",$lang);$lang=str_replace("pt","Portuguese",$lang);$lang=str_replace("fr","French",$lang);$lang=str_replace("de","German",$lang);$lang=str_replace("it","Italian",$lang)

PHP preg_replace

我使用netbeans,我尝试用\\替换\但它失败了,它无法转义\\字符。这不是Netbeans问题,而是PHP问题。preg_replace('\','\\','textto\beparsed');有什么解决办法吗? 最佳答案 使用4个反斜杠,请不要忘记分隔符:echoechopreg_replace('~\\\\~','\\\\\\\\','要解析的文本');Onlinedemo说明:PHP在解析\\\\时会转义两次\\,即变成\\,现在当PHP将其传递给正则表达式引擎时,它将接收到\\,这意味着\。

php - preg_match() 期望参数是给定的长字符串

我正在检查信用卡字段以确保它们每个都包含四位数字。functioncreditcard($creditCard1,$creditCard2,$creditCard3,$creditCard4){$regexp="/^[0-9]{4}$/";if(preg_match($regexp,$creditCard1,$creditCard2,$creditCard3,$creditCard4))//line18{returnTRUE;}else{echo'alert("Enteravalidcreditcardnumber.")';returnFALSE;}}$creditCard1=$_PO

php - str_replace() 不会用重音替换字符

我有一个非常长的html字符串,它由希腊语和英语文本组成,大部分单词都带有html标签。我过去曾成功地使用下面的函数从文本中删除希腊语重音符号,从而使大写字母变得漂亮。然而,在这段文本中,在某些字符之后,替换停止发生,文本返回时带有重音符号。我也尝试了一些我在网上找到的其他功能,但没有成功。有什么帮助吗?我使用的函数是:publicstaticfunctionstripAccents($str){$a=array('ά','έ','ή','ί','ύ','ό','ώ','ς','Ά','Έ','Ή','Ί','Ύ','Ό','Ώ');$b=array('α','ε','η','ι','

php - preg_replace 仅匹配的一部分

我正在使用preg_replace为基于modrewrite的分页链接创建url。我使用:$nextURL=preg_replace('%/([\d]+)/%','/'.($pageNumber+1).'/',$currentURL);效果很好,但是我想知道是否有更好的方法而无需在替换参数中包含'/'。我需要匹配两个/之间的数字,因为URL有时可以包含页面部分以外的数字。然而,这些数字绝不仅仅是数字,所以/[\d]+/阻止它们被替换。 最佳答案 你可以使用look-aroundassertions:%(?(?是一个积极的后视断言并且

php - 使用 preg_replace 匹配重复的空格

我正在编写一个WordPress插件,其中一个功能是删除重复的空格。我的代码是这样的:returnpreg_replace('/\s\s+/u','',$text,-1,$count);我不明白为什么我需要u修饰符。我见过其他插件使用preg_replace但不使用需要为Unicode修改它。我相信我有默认安装的WordPress。没有修饰符,代码用Unicode替换所有空格替换字形而不是空格。使用u修饰符,我不明白字形,它不会替换所有空格。下面每个空格有1-10个空格。正则表达式仅从每个组中删除空格。之前:Thissentencehasextraspace.Thisdoesn’t.E

php - 正则表达式问题 php preg_match

尝试匹配以下内容:rawurl="http://www.domain.com/page/etc/"URL本身是可变的,可以包含各种内容!?查询字符串等等。是否有转义函数使其正则表达式安全?到目前为止我已经有了这个$varisalreadydefined..$url="www.adomain.com/with/extras/"$url=str_replace("\/","/",$url);//maybemoreneededhere.$pattern="/rawurl\=\"http\:\/\/$url/";preg_match($pattern,$var,$out);在正确格式化正则表达

php - 使用 preg_match_all PHP 限制结果数量

有什么方法可以限制使用preg_match_all返回的匹配项数量吗??例如,我只想匹配前20个网页上的标签,但有100个标签。干杯 最佳答案 $matches=array();preg_match_all($pattern,$subject,$matches);$twenty=array_slice($matches,0,20); 关于php-使用preg_match_allPHP限制结果数量,我们在StackOverflow上找到一个类似的问题: http

php - 带换行符的正则表达式 preg_match

这个问题在这里已经有了答案:HowdoImatchanycharacteracrossmultiplelinesinaregularexpression?(26个答案)关闭2年前。我正在尝试匹配HTML中的字符串例如我想在string中找到字符串我在做的是preg_match_all('|\(.*)\|',$html,$data);echo$data[1][0];当我想在中搜索的字符串时它起作用不是换行符但是如果它有换行符,我该怎么做呢?不工作示例:linebreakstring