我正在尝试用/id.jpg替换字符串中的.pdf扩展名>preg_replace('/.pdf/','/id.jpg',$url);当我输出$url时,没有任何改变。我想我需要转义.pdf中的点,或者可能转义/id.jpg中的/ 最佳答案 您需要使用反斜杠来确保正确匹配点:\.此外,您说,“当我输出$url时,什么都没有改变。”preg_replace()不会修改$subject参数。要将新值存储在$url中,您需要进行赋值:$url=preg_replace('/\.pdf/','/id.jpg',$url);
我已经跑了preg_quote('')检查这些字符是否需要在正则表达式中转义,令我惊讶的是,它们转义了:\.为什么这些字符需要转义?它们在正则表达式中的含义是什么? 最佳答案 在用于定义后视时具有重要意义((?匹配前面没有bar的foo)和>都用于命名子模式,如下所示:preg_match("/(?\d{3})-(?\d{3})-(?\d{4})/",$number,$m);//nowelementsoftheUSphonenumberarein$m['area'],$m['sub']and$m['num']因此,因为它们在与其他符
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及预期结果。另请参阅:StackOverflowquestionchecklist关闭9年前。Improvethisquestion我正试图找到一种方法来替换这样的文本:texthereABC-sometexthere-CEDtexthere到texthereABC-replacedtext-CEDtexthere或------------------------------------texthere
您好,我开始学习php正则表达式并遇到以下问题:我需要提取$string中的数字。我使用的正则表达式返回“NULL”。$string='Clasificación(2194)';$regex='/Clasificación((.*?))/';preg_match($regex,$string,$match);var_dump($match);提前致谢。 最佳答案 您的正则表达式存在三个问题:您没有转义正斜杠。您使用正斜杠作为分隔符,因此如果您想将它用作表达式中的文字字符,则需要将其转义((.*?))不做你认为它做的事。它创建了两个捕
我被困在这里,找不到我的问题的任何结果,可能是因为英语不是我的母语。我想匹配序列中最多包含30个字母/数字的行:这甚至可以用preg_match实现吗?preg_match("/[^A-Za-z0-9](max30inasequence)/",$string)字符串:$string="1234567890123456789012345678901234567890";//FALSE$string="sdfihsgbfsadiousdghiug";//TRUE$string="cfgvsdfsdf786sdf78s9d8g7stdg87stdg78tsd7g0tsd9g7t";//FAL
我有以下脚本可以正常工作:if(error1==1){window.alert('Youhavealreadysignedup!');window.location.replace('index.php');}但是当我想使用下面的URL而不是index.php时,它并没有替换参数:if(error1==1){window.alert('Youhavealreadysignedup!');window.location.replace('http://polimovie.deib.polimi.it/Version3/index.php?campaign=".$Campaign_id."
我想使用预匹配提取所有换行的文本值所以background:url("images/gone.png");color:#333;...background:url("images/good.png");font-weight:bold;从上面的字符串,我要抢images/gone.pngimages/good.png正确的命令行是什么? 最佳答案 在php中,你应该这样做:$str=然后,你会看到这样的输出:array(2){[0]=>array(2){[0]=>string(22)"url("images/gone.png")"[
我想更改数组中的值。这是我的起始数组:Array([0]=>Array([name]=>aaa)[1]=>Array([name]=>bbb)[2]=>Array([name]=>ccc))我声明了一个搜索项(例如“aaa”)和一个新名称(例如“test”)。然后我做了一个str_replace来实际改变它。不幸的是,什么都没有改变,我也没有收到错误消息。你能帮忙告诉我我的错误在哪里吗?for($i=0;$i 最佳答案 作为documentation说,这个函数不更新数组Thisfunctionreturnsastringorana
我使用两个正则表达式从MySQL查询中提取分配并使用它们创建审计跟踪。其中一种是“挑剔”的,需要引用列名称等,另一种则不需要。它们都经过测试并正确解析出值。我遇到的问题是,对于某些查询,“挑剔”的正则表达式实际上只会导致Apache出现段错误。我尝试了多种方法来确定这是将正则表达式留在代码中的原因,并且只是修改条件以确保它没有运行(以排除某种编译时问题或其他问题).没有问题。只有当它针对特定查询运行正则表达式时才会出现段错误,而且我找不到任何明显的模式来告诉我原因。有问题的代码:if($picky)preg_match_all("/[`'\"]((?:[A-Z]|[a-z]|_|[0-
我需要一些帮助来计算正则表达式。在我的脚本中,我有一定的占位符行。我想做的是向每个占位符文本发送一个函数,将其转换为应有的内容。例如我的文字是:Loremipsumdolorsit{{AMETPLACEHOLDER}},consecteturadipiscingelit.我希望将文本AMETPLACEHOLDER发送到我的函数translateMe。我的正则表达式真的很差,但还是试了一下。我没有比这更进一步的了:$sString=preg_replace("(*.?)/\{{(*.?)}}(*.?)/",$this->echoText('\\2'),$sString);这当然行不通。谁