草庐IT

php - preg_replace - 如何匹配任何不是\*\*的东西

我似乎无法找出正则表达式来匹配格式中的任何字符串**(anythingthat'snot**)**我试过在php中这样做$str="**helloworld*hello**";$str=preg_replace('/\*\*(([^\*][^\*]+))\*\*/s','$1',$str);但没有进行字符串替换。 最佳答案 您可以使用assertion?!与字符配对.占位符:=preg_replace('/\*\*(((?!\*\*).)+)\*\*/s',这基本上意味着匹配任意数量的任何东西(.)+,但是.永远不能占据\*\*的位

php - PHP ereg_replace 中的欧元符号

我想在此正则表达式中允许使用欧元符号€,但它不会通过$val=ereg_replace($regex,"[^a-zA-Z0-9[:space:][:blank:]€+-]+",$_REQUEST[$var]); 最佳答案 你有安装mbstring吗?如果是这样,请尝试使用函数mb_ereg_replace().它将支持这个字符(甚至在UTF-8中)。编辑:还要检查mbregex是否打开。有些主机打开mbstring但禁用mbregex(我不知道为什么)。 关于php-PHPereg_re

php - preg_replace 能否一次进行多个搜索和替换操作?

这是如何完成的,分几行://$strrepresentsstringthatneedscleaning:$str="Stringwithline\nbreakandtoomuchspaces";//Cleanstringwithpreg_replace():$str=preg_replace('/[\x00-\x09\x0B-\x1F\x7F]|^+|+$/','',$str);$str=preg_replace('/\x0A|+/','',$str);echo$str;//Output:"Stringwithlinebreakandtoomuchspaces"我的问题集中在将两个pr

php - preg_replace 模式和主题数组返回空数组

我想要一种从$keywords中删除$badwords元素的简单方法。我有什么(举个例子)$keywords=array('sebastian','nous','helene','lol');//itcouldbeanythinginfact$badwords=array('nous','lol','ene','seba');//arrayfullofstopwordsthatIwon'twritehere$filtered_keywords=array_filter(preg_replace($badwords,'',$keywords),'strlen');print_r($fil

php - preg_replace 在省略时插入默认值

我正在尝试为preg_replace处理一些正则表达式,当它不在主题中时,它会插入一个默认的key="value"。这是我所拥有的:$pattern='/\[section([^\]]+)(?!type)\]/i';$replacement='[section$1type="wrapper"]';我想让它变成:[sectiontitle="Thisisthetitle"]进入:[sectiontitle="Thisisthetitle"type="wrapper"]但是当有值的时候,我不希望它匹配。这意味着:[sectiontitle="Thisisthetitle"type="ful

php - 弃用 Twig 过滤器,改用 Twig_SimpleFilter

我正在使用Symfony2.3,并且在我的分析器中有与Twig相关的弃用警告。如:DEPRECATION-Using"replace"withcharacterbycharacterreplacementisdeprecatedandwillberemovedinTwig2.0|replace标签似乎仍然是Twig文档的一部分,所以我对如何处理这个警告有点困惑。此外,我从我使用的第三方bundle中收到类似的弃用警告。有解决这个问题的简单方法吗?如果我从2.3升级到2.7,这会成为问题吗? 最佳答案 您需要更改传递参数的方式以替换t

PHP 将双反斜杠 "\\"替换为单反斜杠 "\"

好吧,我正在使用这个php图像上传系统,但出于某种原因,InternetExplorer将我的基本路径变成了相同的路径,但使用双反斜杠而不是一个;即:C:\\DocumentsandSettings\\kasper\\Bureaublad\\24.jpg这需要成为C:\DocumentsandSettings\kasper\Bureaublad\24.jpg。 最佳答案 请注意,您可能会遇到PHP的魔术引号“功能”,其中传入的反斜杠会变成\\。见http://us2.php.net/magic_quotes

PHP 正则表达式模板 - 查找所有出现的 {{var}}

我需要一些帮助来为我的php脚本创建正则表达式。基本上,我有一个包含我的数据的关联数组,我想使用preg_replace将一些占位符替换为真实数据。输入将是这样的:{{address}}{{fixDate}}{{measureDate}}{{builder}}我不想使用str_replace,因为数组可能包含比我需要的更多的项目。如果我理解正确,preg_replace能够获取它从正则表达式中找到的文本,并将其替换为数组中该键的值,例如{{address}}用$replace['address']的值替换。这是真的吗,还是我误读了php文档?如果这是真的,有人可以帮我看一个正则表达式来

php - 如何在一个 preg_replace() 中将所有非单词字符和多个空格更改为 ' ' 然后将所有空格更改为 '-'

我想在以下条件下更改图像名称所有非单词字符变成空格,然后所有空格变成-表示如果我的图像名称是:HelloMynameis'Kh@n"Mr..Khan"那么它应该被更改为Hello-My-name-is-kh-n-mr-Khan.我需要分两步使用下面,$old_name='HelloMynameis\'Kh@n"Mr.Khan';$space_name=preg_replace('/\W/','',$old_name);$new_name=preg_replace('/\s+/','-',$space_name);echo$new_name//returnsHello-My-name-i

php - 替换单词数组

x.replace(/old/gi.'new');x.replace(/whatever/gi.'whatevernew');x.replace(/car/gi.'boat');有没有一种方法可以将它们组合在一个正则表达式语句和新旧单词数组中。也欢迎使用PHP解决方案。 最佳答案 你可以这样做:varx='Theoldcarisjustwhatever';vararr=[{old:/old/gi,new:'new'},{old:/whatever/gi,new:'whatevernew'},{old:/car/gi,new:'boa