草庐IT

php - 获取非数字字符,然后在文本 block 的每一行上编号

我有一些字符串可以采用以下格式:sometextmoretext01texttextsometextmoretext002texttext1(somemoretext)etcIwanttosplitthesestringsintofollowing:textbeforethenumberandthenumberForexample:texttext1(somemoretext)拆分时输出:text=文本文本数字=1数字后面的任何内容都可以丢弃。 最佳答案 preg_match('/[^\d]+/',$string,$textMatc

php - 用于在 PHP 中将下划线转换为破折号的正则表达式

我正在尝试在php中将下划线转换为破折号。您好,我有一个将空格转换为破折号的正则表达式,但我如何才能将下划线转换为破折号?$item=preg_replace('/\+/','-',$item); 最佳答案 您不需要正则表达式。使用str_replace:$item=str_replace('_','-',$item); 关于php-用于在PHP中将下划线转换为破折号的正则表达式,我们在StackOverflow上找到一个类似的问题: https://stac

php - 使用 PHP 进行正则表达式字符类减法

你好,我正在尝试匹配英国邮政编码,使用来自http://interim.cabinetoffice.gov.uk/media/291370/bs7666-v2-0-xsd-PostCodeType.htm的模式,/^[A-Z]{1,2}[0-9R][0-9A-Z]?[0-9][A-Z-[CIKMOV]]{2}$/我在PHP中使用它,但它与有效的邮政编码OL130EF不匹配。但是,当我删除-[CIKMOV]字符类减法时,此邮政编码确实匹配。我的印象是我在PHP中做字符类减法是错误的。如果有人能纠正我的错误,我将不胜感激。预先感谢您的帮助。罗斯 最佳答案

php - 将 preg_match() 与 REGEX 表达式一起使用时的未知修饰符 '('

这个问题在这里已经有了答案:Warning:preg_replace():Unknownmodifier(3个答案)关闭3年前。我正在尝试使用preg_match()通过PHP验证诸如DD/MM/YYYY之类的日期。这是我的REGEX表达式的样子:$pattern="/^([123]0|[012][1-9]|31)/(0[1-9]|1[012])/(19[0-9]{2}|2[0-9]{3})$/";但是用正确的值使用它,我得到这个消息:preg_match():Unknownmodifier'('完整代码:$pattern="/^([123]0|[012][1-9]|31)/(0[1-

php - 具有特定长度的任何字符串的正则表达式模式

我想为preg_match构建模式,它将匹配长度为1-40个字符的任何字符串。我发现了这个:^[^但是我收到了这个错误信息:function.preg-match]:Unknownmodifier'有什么建议吗? 最佳答案 /^.{1,40}$/应该匹配任何长度为1到40个字符的字符串。它所做的是获取匹配所有内容的.,并重复它1到40次({1,40})。^和$是字符串开头和结尾的anchor。 关于php-具有特定长度的任何字符串的正则表达式模式,我们在StackOverflow上找到一

php - 简单正则表达式的问题

我有这样的字符串:{$foo.bar}和{$foo.bar.anything}WHERE:fooANDbarANDanything===字母数字我想通过preg_match(regularexpression)在PHP中匹配上述2个字符串,除了那些没有任何点例如:{$foo}br/>非常感谢您的帮助,谢谢。 最佳答案 /{\$[\da-z]+(?:\.[\da-z]+)+}/i匹配{$foo.bar}{$foo.Bar.anything}{$foo.bar.anything1.anything2.anything3}{$foo.ba

php - 尝试将正则表达式匹配传递给函数时出错

我收到语法错误,意外的T_LNUMBER,需要T_VARIABLE或“$”这是我正在使用的代码functionwpse44503_filter_content($content){$regex='#src=("|\')'.'(/images/(19|20)(0-9){2}/(0|1)(0-9)/[^.]+\.(jpg|png|gif|bmp|jpeg))'.'("|\')#';$replace='src="'.get_site_url($2).'"';$output=preg_replace($regex,$replace,$content);return$output;}这是我遇到错

php - 如何删除字符串中最后一次出现的下划线

我有一个字符串,其中包含许多下划线后跟单词ex:"Field_4_txtbox"我需要找到字符串中的最后一个下划线并删除它后面的所有内容(包括“_”),所以它会返回给我"Field_4"但我需要它来处理不同长度的结束字符串。所以我不能只修剪固定长度。我知道我可以做一个If语句来检查某些结尾,比如if(strstr($key,'chkbox')){$string=rtrim($key,'_chkbox');}但我想使用正则表达式模式一次完成此操作,我该如何完成? 最佳答案 匹配的正则表达式是:/_[^_]*$/只需将其替换为'':pr

php - 如何转义 preg_match 模式中的斜杠字符?

这个问题在这里已经有了答案:IsthereaPHPfunctionthatcanescaperegexpatternsbeforetheyareapplied?(2个答案)关闭4年前。我有这样一段文字:line1/1/1/2行短语之后的文本是函数的参数,例如当我调用extractData('1/1/1/2','Themaintext')时:functionextractData($line,$text){$pattern="/line(\s+)$line/";if(preg_match($pattern,$text)){//somecode}}如何转义模式中的斜杠字符?换句话说,我应该

php - 使用 preg_replace 删除 php 中两个字符串之间的文本

我一直在尝试从两个标签之间的站点字符串中删除一段文本。例如:ThisisCROPSTARTnotveryCROPENDcool....应该变成这样...Thisiscool.这是我试过的PHP,通常它可以工作:preg_replace('#\/\/CROPSTART[\s\S]+\/\/CROPEND#','',$string);但是,当字符串包含多个“CROPEND”时,它会裁剪从CROPSTART到最后一个CROPEND的所有内容。我希望它只在第一个CROPSTART和第一个CROPEND之间裁剪。有人知道怎么做吗?谢谢旺科 最佳答案