草庐IT

php - 如何在大量数据中preg_replace_all

我只是制作了一个升级脚本,用于将所有MODX片段标签替换为更新的格式:旧的:[~123~]新的:[[~123]](当然,123-这是一个例子-有很多不同的数字)此外,我还想将所有自定义旧片段替换为较新的片段:旧代码段格式:[!MySnippetName?¶m1=`value1`¶m2=`value2`!]新的:[[!MySnippetName?¶m1=`value1`¶m2=`value2`]](当然,¶m1=value1¶m2=value2只是一个例子,在实际片段中是不同的)如何使用preg_replace函数进行全局替换?我应该这样创

php: 如何忽略 preg_replace 中的字母大小写?

我想匹配字符串中的文本,同时忽略它的字母大小写。如果字母大小写不相同,我的示例将失败。/*$text:fOoBaR$str:littlebrownFoobarreturn:littlebrownFoobar*/functionbold($text,$str){//Thisfailstomatchifthelettercasesarenotthesame//Note:Idonotwanttochangethereturned$strlettercase.returnpreg_replace('/('.str_replace(array("/","\\"),array("\/","\\")

php preg_match 只匹配数字、字母和点

我已经搜索了2个小时了,但还是没找到。我需要评估帐户名称的输入。这只能包含数字(0-9)、字母(a-z和A-Z)和点(.).其他一切都是被禁止的。所以,没有下划线(_),加上(+)等等。有效的帐户应该是这样的,例如:john.greenluci.mayer89admin我尝试了很多preg_match/regex示例,但无法正常工作。每当我执行echopreg_match(...)时,我都会将1设为true。$accountname="+_#luke123*";echopreg_match("/[a-z0-9.]/i",$accountname);//-->givesback1astr

带有克罗地亚字符的 PHP preg_match

我是正则表达式的新手,但在StackOverflow上进行了一些搜索,我设法得到了我想要的东西(如果2个以上的单词用逗号分隔,则返回true,如果不是,则返回false或这个词以逗号结尾,但后面没有任何内容),除了我对克罗地亚语字符(č,ć,ž,đ,š大写和小写)有疑问。我当前的preg_match看起来像if(preg_match('/^(([a-zA-Z0-9]+\\s*,\\s*)+(\\s*)([a-zA-Z0-9]+))$/',$data)){//dostuff}但是这种方法的问题是如果它有Č,ć,ž...并且我不会返回true知道这是因为[a-zA-Z]没有“寻找”这个字符

php preg_match_all 返回数组数组

我想替换一些模板标签:$tags='{name}text{first}';preg_match_all('~\{(\w+)\}~',$tags,$matches);var_dump($matches);输出是:array(2){[0]=>array(2){[0]=>string(6)"{name}"[1]=>string(7)"{first}"}[1]=>array(2){[0]=>string(4)"name"[1]=>string(5)"first"}}为什么里面有2个数组?如何实现仅第二个? 最佳答案 那是因为您的正则表达式可

php - preg_match 模式在 php v 5 中不起作用

我使用的是PHP5.4.45版。我在php版本7中测试了这段代码并且工作正常但在版本5.4.45中不起作用$string='9301234567';if(preg_match('/^\9\d{9}/',$string)){$string='0+1'.$string;return$string;}在v7中返回:0+19301234567但在v5.4.45中返回(preg_match返回false)9301234567我如何在phpv5.4.45中使用preg_match('/^\9\d{9}/',$string)?谢谢 最佳答案 简介

php - 字符串的特殊 preg_match

这是我的字符串:================================================================================INPUTFILE================================================================================NAME=CO-c0m1.txt|1>!HFdef2-TZVPoptnumfreq|2>|3>%scf|4>convergencetight|5>end|6>|7>*xyz01|8>C000|9>O001|10>*|11>|12>****

php - 替换为 preg_replace 中的动态变量

我遇到了这个问题,就是我有一个这样的数组:$array=['name'=>'John','email'=>john@gmail.com];和这样的字符串示例:$string='Hi[[name]],youremailis[[email]]';问题很明显,将姓名替换为John,并将电子邮件替换为john@gmail.com。我的尝试://checkif$stringhas[[]]pattern$stringHasBrackets=preg_match_all('/\[\[(.*?)\]\]/i',$string,$matchOutput);if($stringHasBrackets){f

PHP:将 preg_replace 与 htmlentities 结合使用

我正在将RSS写入JSON解析器,作为其中的一部分,我需要在任何标签上使用htmlentities()在描述标签内找到。目前,我正在尝试使用preg_replace(),但我有点吃力。我当前的(非工作)代码如下所示:$pattern[0]="/\(.*?)\/is";$replace[0]=''.htmlentities("$1").'';$rawFeed=preg_replace($pattern,$replace,$rawFeed);如果您对此也有更优雅的解决方案,请分享。谢谢。 最佳答案 简单。使用preg_replace_c

php - preg_replace() str_replace() 撇号噩梦! - Drupal 菜单图像替换

谁能帮我解释为什么这不起作用?$cssid=preg_replace("/'/","",$cssid);试图从某些html中删除单引号...谢谢!H编辑这是完整的功能-它旨在使用图像重建Drupal菜单,并将CSS类应用于每个项目,允许您选择所需的图像。需要删除空格和撇号,否则CSS选择器会失败。导致所有这些问题的菜单项的标题是:What'snew你会认为它非常无害。(除了那个单一的')functionprimary_links_add_icons(){$links=menu_primary_links();$level_tmp=explode('-',key($links));$le