我正在使用php的preg_replace().基本上我有2种可能的字符串匹配:你好现实世界问候这是我希望完成的:HelloRealWorldGreetings规则解释:如果字符串包含空格,插入在第一个空格字符之后。如果字符串不包含空格(一个单词),则插入就在字符串的中间(+/-如果奇数字符计数)。到目前为止,我已经想出了一个长期有效的解决方案:",$str,1):preg_replace("/.{".round(strlen($str)/2)."}/","$0",$str,1);?>但是,我相信它可以通过一个更短、更优雅的正则表达式来完成,只有一个preg_replace()。打电话
我有大量文本被加载到标题中,其中包含此链接。我想用一个新值替换它,但是href会根据页面发生变化,这意味着简单的str_replace是不可能的。我看过使用preg_replace,但无法理解这个看似简单的问题。$regex='/(^$)/';$match=preg_match_all($regex,$content,$matches);var_dump($matches);//开始和结束表达式?()表示必须匹配才能返回字符串的单独“表达式”?以下列字符串开头的结果的^过滤器?以下列字符串结尾的结果的$过滤器?所以我正在寻找以开头的字符串并以/>结尾我已经展示了我要执行的步骤,以及我的
这个问题在这里已经有了答案:Regularexpressiontomatchalinethatdoesn'tcontainaword(33个答案)关闭9年前。我正在将一个页面读入一个变量,我想禁用地址中不包含单词“remedy”的所有链接。到目前为止,我的代码获取了所有链接,包括带有“补救措施”的链接。我做错了什么?$page=preg_replace('~(.*?)~i','$1',$page);--解决方案--$page=preg_replace('~(.*?)~i','$2',$page);
我创建了一个函数来突出显示字符串中的单个单词。它看起来像这样:functionhighlight($input,$keywords){preg_match_all('~[\w\'"-]+~',$keywords,$match);if(!$match){return$input;}$result='~\\b('.implode('|',$match[0]).')\\b~i';returnpreg_replace($result,'$0',$input);}我需要该函数来处理支持搜索中空格的不同单词数组。例子:$search=array("thisneeds","here","canhig
因为我有一个非常冗余的配置文件格式..我发明了一个自定义脚本格式来编写循环,例如:[ConfigObject]{Loop3Setting[i]=Value[i]}OtherSetting=X这将导致:[ConfigObject]Setting1=Value1Setting2=Value2Setting3=Value3OtherSetting=X我的第一个想法是使用正则表达式,就像这样:!{(.*?)}!is在我尝试将它与嵌套循环一起使用之前,它一直工作得很好——你肯定知道这个“哦……时刻”因为以下原因:1:[ConfigObject]2:*{*Loop33:Section[i]4:{L
假设,我有一个像这样的字符串$res="therearemanyrestaurantsinthecity.Restaurantslikexyz,abc.onerestaurantlike.....";在上面的例子中,我们可以在3个地方找到餐厅。我需要计数为3。$pattern='/Restaurant/';preg_match($pattern,substr($res,10),$matches,PREG_OFFSET_CAPTURE);print_r($matches);还有一个问题这与上述问题有关。即,我有类似Food&Drinks的文本。我需要将这个词与food或drinks或se
我正在使用正则表达式从给定字符串中获取多个模式。在这里,我将向您解释清楚。$string="aboutus";$newtag=preg_replace("//","_",$string);print_r($newtag);以上是我的代码。在这里,我正在查找单词中的空格并将空格替换为我需要的特殊字符,对吧??现在,我需要一个正则表达式来给我这样的模式about_us、about-us、aboutus作为输出,如果我将aboutus作为输入。这样可以吗。请帮助我。提前致谢! 最佳答案 最后,我的答案是$string="contact_u
我有下面的句子Theboyis{good|better|best}inhis{school|tution|class|scociety}现在我需要创建一个递归的PHP函数,它将把这句话作为输入并输出如下:-TheboyisgoodinhisschoolTheboyisgoodinhistution以类似的方式我需要创建12行,因为上面的句子有12个单词。如下所示:-goodwiththis4{school|tution|class|scociety}betterwiththis4{school|tution|class|scociety}bestwiththis4{school|tut
我有以下PHP代码:$search="foobarque";$search_string=str_replace("","|",$search);$text="Thisismyfootextwithquéandotheraccentedcharacters.";$text=preg_replace("/$search_string/i","$0",$text);echo$text;显然,“que”不匹配“qué”。我该如何改变它?有没有办法让preg_replace忽略所有重音符号?必须匹配的字符(西类牙语):á,Á,é,É,í,Í,ó,Ó,ú,Ú,ñ,Ñ我不想在应用正则表达式之前替换
给定一个文本字符串(一个Markdown文档)我需要实现这两个选项之一:替换整个文档中特定表达式((\W)(theWord)(\W))的所有匹配项EXCEPT在Markdown图像语法中。替换特定表达式的所有匹配项({{([^}}]+)}}\[\[[^\]\]]+\]\])仅在Markdown图片内,即:![Blah{{theWord}}[[1234]]blah](url)。这两个表达式目前都匹配所有内容,无论是否在markdown图像语法中,我已经尝试了我能想到的一切。HereisanexampleofthefirstoptionAn