您好,我试图在将字符串转换为PHP中的正则表达式之前连接该字符串,但问题是它没有按预期显示。我一直在使用谷歌搜索并找到了关于preg_quote的信息,问题是它不能正常工作。这是我的例子:$mystring="banana";//putthistoavariableassumethisvalueisdynamic$regex_str="/^"$mystring"\-[a-z0-9]\-[a-z0-9]$/";//Imexpectingexpecting/^banana\-[a-z0-9]\-[a-z0-9]$/$regex=preg_quote($regex_str);但我得到的是:/
我无法告诉你们我在这上面花了多少时间。我只是想忽略BETWEEN强标签的任何关键字实例。它们是紧挨着标签还是介于其他词之间。同时保持关键字不区分大小写。例子:Themandroveinhiscar.Thenthemanwalkedtotheboat.boat应该被忽略,Car应该被替换。$keywords=array('boat','car',);$p=implode('|',array_map('preg_quote',$keywords));$string=preg_replace("/\b($p)\b/i",'gokart',$string,4); 最
我有这样的格式:00-0000,我想得到0000-0000。到目前为止我的代码:问题是-0不会被正确添加(我猜preg_replace认为我在谈论参数$100而不是$1)我怎样才能让它工作? 最佳答案 你可以试试下面的方法。echopreg_replace('~(?这会将连字符替换为00。你还是让它变得简单或preg_replace('~-(\d{2})~',"$1-",$string) 关于php-使用PHPpreg_replace搜索并替换字符串中的数字,我们在StackOverfl
我将如何使用preg_replace来替换:Sometextis[[1]]andsomeis[[2]]blabla...进入这个:Sometextis1.____________andsomeis2.____________blabla...我有这个正则表达式可以找到正确的出现,但我不知道如何将替换数字添加到结果中?preg_replace('(\[\[\d\]\])','_______',$subject);这让我得到了这个结果:Sometextis____________andsomeis____________blabla... 最佳答案
我有这个preg_match_all来获取主题标签:preg_match_all('/(^|[^a-z0-9_])#([a-z0-9_]+)/ui',$text,$matchedHashtags);它工作得很好,但如果发现一些强调就会停止:#hash//works#hash_hash//works#hash_não//getjust$hash_n我需要改变什么? 最佳答案 您可以使用Unicodecategory信件。\p{L}匹配来自所有Unicodescripts的字母(≅语言)。正则表达式:/(?regex101Demo另一种
这个输出:$san_field='sometextPROSsometextsometext1234CALEND2007RIT';$pattern='/(\s|^|-|--)(?:CALEND|2007|CALEND2007RIT)(--|-|\s|$)/i';echopreg_replace($pattern,'',$san_field)>>sometextPROSsometextsometext12342007RIT我想替换CALEND2007RIT而不是CALEND,这是在$san_field上找到的第一个匹配项。我知道我可以这样做:$san_field='sometextPROS
我的php有一些问题,这是我的代码test.xml类似:Test655Tsungphp代码:asXML());$pattern="/结果显示为“0”,表示未找到,所以我更改$pattern值$pattern="document";结果显示“1”(表示找到)我调试了很多时间...也许编码UTF-8,ASCIIprobram或"/错了吗?我的目的是想解析这个字符串然后得到'..'有人可以告诉我我的错误在哪里吗??谢谢:)) 最佳答案 您正在使用解析器,只需解析它,不需要正则表达式。$xml='Test655Tsung';$xml=new
你好堆垛机,我只是有一个关于str_replace()的小PHP问题功能。当我替换某些东西时,它会替换所有东西;没关系。但我想知道的是:str_replace("*","",$message);是否可以将str_replace用于类似*ThiscontentisBold*的代码,仅包含内容,但仍将星号替换为和?例子:原文:**ThisShouldbeBold**替换后:ThisShouldbeBold对于将其标记为重复的人:这不是关闭HTML标记,而是替换。我希望我没有那么不清楚。谢谢。 最佳答案 改用正则表达式;更方便:$mess
这个问题在这里已经有了答案:PHPRegex:Howtomatch\rand\nwithoutusing[\r\n]?(7个答案)关闭去年。我有这个漂亮的preg_match正则表达式:if(preg_match("%^[A-Za-z0-9ążśźęćńółĄŻŚŹĘĆŃÓŁ\.\,\-\?\!\(\)\"\\/\t\/\n]{2,50}$%",stripslashes(trim($_POST['x']))){...}这应该允许可以在帖子中使用的所有字符以及帖子的最终文本内容。问题是,尽管\n它的功能仍然不适用于我帖子中的新行,因此语法为foobar不会工作。有谁知道为什么该功能无法正
我想在每次找到特殊字符时拆分一个字符串。我这样做了:preg_split("[\\W]",$str);但这仍然允许下划线(也许更多?)是否可以只说允许a-zA-Z和数字并拆分任何不是其中之一的东西? 最佳答案 您刚刚回答了您的问题:preg_split('~[^a-z0-9]~i',$str);参见thisregexdemo[^a-z0-9]negated字符类匹配除a-z(和A-Z由于i修饰符)而不是数字(用0-9定义)。另一种方法是在否定字符类中使用POSIX[:alnum:]字符类:'~[^[:alnum:]]~'参见rege