草庐IT

regex_replace

全部标签

php - preg_replace '</p>' 与 '<br/>' ?

我的代码删除了开始标签,但现在我想替换结尾带有换行符的标签。我该怎么做?这是我的:$content='Thisisthecontent';$newcontent=preg_replace("/]*?>","",$content);$newcontent=preg_replace("","",$newcontent); 最佳答案 使用str_replace而不是preg_replace,所以:$content='Thisisanewcontentformissingslash';$newcontent=preg_replace("/]

warning: in the working copy of ‘package-lock.json‘, LF will be replaced by CRLF the next time Git

warning:intheworkingcopyof‘package-lock.json‘,LFwillbereplacedbyCRLFthenexttimeGit换行符的问题,Windows下换行符和Unix下的换行符不一样,git会自动转换,但是这样有问题,所以解决方法如下:使用命令,禁止自动转换:gitconfig--globalcore.autocrlffalse一、问题windows平台进行gitadd时,控制台打印警告warning:intheworkingcopyof‘XXX.py’,LFwillbereplacedbyCRLFthenexttimeGittouchesit二、问

php - RegEx:安全、快速地删除非字母 UTF-8

我正在尝试删除PHP中除有效字母(来自任何语言)之外的所有内容。我一直在使用这个:$content=preg_replace('/[^\pL\p{Zs}]/u','',$content);但它的速度非常慢。比以下时间长约30倍:$content=preg_replace('/[^a-z\s]/','',$content);我正在处理大量数据,因此使用慢速方法确实不可行。有没有更快的方法? 最佳答案 好吧,它只慢了30倍,这真是一个奇迹,因为在检查某个代码点是否为字母时,它需要考虑的字符比仅考虑a-z多1000倍。也就是说,您可以稍微

php - 如何在 PHP 中禁用 'e' PREG_REPLACE_EVAL 修饰符?

我想知道如何在PHP的正则表达式系统中禁用eval修饰符,例如。preg_replace('/.*/e',$code,'.').这是一个潜在的漏洞利用,如果有人设法将狡猾的代码放到服务器上,可以用来代替eval。我最近遇到了一个问题,来自woothemes的wordpress主题有一个安全漏洞,允许黑客上传后门服务器管理类型脚本。我的php.ini中有这个:disable_functions=eval这阻止了大部分可能造成的损害,但我想知道我是否可以做类似的事情来防止除call_user_func_array()之外的所有形式的“评估”东西? 最佳答案

php - 用于检测 base64 编码字符串的 RegEx

我需要在我的应用程序中检测格式为@base64(例如@VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==)的字符串。@必须在开头,base64编码字符串的字符集是a-z,A-Z,0-9,+、/和=。会是检测它们的适当正则表达式吗?谢谢 最佳答案 应该这样做(不检查适当的长度!):^@[a-zA-Z0-9+/]+={,2}$任何base64编码字符串的长度必须是4的倍数,因此是附加的。请参阅此处以获取检查长度是否正确的解决方案:RegExtoparseorvalidateBase64data链接答案中对正则表达式

php - 在 PHP 的 preg_replace 中使用 $ 变量

嗯……如何在调用preg_replace时使用变量?这没有用:foreach($numarrayas$num=>$text){$patterns[]='/(.*?)\+$num(.*?)/';$replacements[]='$1$2';}是的,$num前面有一个加号。是的,我想要“tagthe$numas”。 最佳答案 您的替换模式看起来不错,但由于您在匹配模式中使用了单引号,您的$num变量将不会插入其中。相反,尝试$patterns[]='/(.*?)\+'.$num.'(.*?)/';$replacements[]='$1$

php - 如何在 PHP 中使用 str_replace() 替换 "\"?

我想从我网站上的字符串中删除所有反斜杠。我不想使用strip_slashes(),因为我想保留正斜杠。这是我正在尝试的代码:echostr_replace("\","","it\'sTuesday!");我想在任何给定的字符串中找到反斜杠并将其删除。但是,此代码无法正常工作。错误:syntaxerror,unexpectedT_CONSTANT_ENCAPSED_STRING我做错了什么? 最佳答案 反斜杠实际上是转义字符串中的结束引号。尝试echostr_replace("\\","","it\'sTuesday!");

REGEX-除字符串以外的所有内容

我想替换每个不是给定炭的字符串的炭|或者;管他呢。我有简单的RegexPatern:([a-zA-Z])\w+...问题是要替换除了该模式的匹配之外的所有内容。例子:qwerty123456;,.'[]?/asd结果:qwerty|||||||||||||||||asd提前致谢。看答案您可以通过两种方式过滤/匹配/替换第一个变体:[a-z0-9]//filter/match/replaceeverythingthatisincludedinthedefinedCharacterset第二个变体:[^a-z0-9]//filter/match/replaceeverythingthatisNOT

(?= [a-z])REGEX如何使用Split()函数?

我试过了varstr="thisIsATest";varnewStr=str.split(/(?=[A-Z])/);console.log(newStr);结果是我想要的:['this','Is','A','Test']但是?=isx(?=y)仅当x随后是y时匹配x。因此,每个单词的最后一个字母不应该分裂。['thi','I','','Test']像这样...是否。因为如果我这样做split('');它将在每个“空间”中分裂看答案当您尝试拆分时,不要想象它看着每个角色。相反,尝试想象它的作用像光标,从:|thisIsATest至:thisIsATest|它之所以像光标一样工作的原因是因为您告诉

Java中的Replace和ReplaceAll的区别

    replace和replaceAll是都是String类中提供的两种用于字符/字符串替换的方法,从字面意思理解,replace表示替换单个匹配项,而replaceAll表示替换所有匹配项;实际上并不是这样子的,replace和replaceAll都是替换所有匹配项,replace是非正则模式替换,replaceAll是正则模式替换。    String类中一共提供了四种替换字符/字符串相关的方法,分别是replace的两个重载方法、replaceAll方法和replaceFirst方法replace(字符):全部匹配的都替换;参数为字符(char)类型;不调用Pattern和Match