所以我有一个表单元素正在提交给我构建的应用程序中的Controller/模型,我需要删除任何不符合我要求的HTML并将其他HTML转换为专有标签应用程序,想知道是否有人可以查看我的正则表达式preg_replace看看可以做些什么来改进它。$postText=$_POST['post_text'];//RegexFunctions$p1='~||||||||| | |~';$r1='';$start=preg_replace($p1,$r1,$postText);$clean=str_replace('_','',$start);$users=preg_replace
我已经做到了这一点:^[a-zA-Z0-9]+(?:--?[a-zA-Z0-9]+)*$但是上面的表达式并没有像我需要的那样限制长度。我需要的模式总共只能匹配5-6个字符。所以,这就是它应该如何解决的问题:safety(valid)safet-(invalid)s-a-fe(valid)-safet(invalid)s7-45(valid)s--fs(invalid)连续连字符无效。前导和尾随连字符无效。总长度(包括任何连字符)应为5-6个字符。我尝试用范围({5,6})替换我的+,但没有成功。感谢您的帮助。我尝试的另一条路线是:^[A-Z0-9][A-Z0-9-]{3,4}[A-Z0
我习惯了正则表达式中的/..../分隔符,也习惯了用符号^来表示一段的开始字符串,或用于一类字符时的否定。所以当我使用^....^遇到下面这行时,我很困惑:$t="172,249,L,P";preg_split("^,^",$t);这意味着什么? 最佳答案 为了不让它们在您的特定正则表达式字符串中被转义,您可以使用多种不同的分隔符:http://php.net/manual/en/regexp.reference.delimiters.php 关于php-PHP正则表达式函数中的分隔符(
我正在尝试从路由条件(documentation)中的表达式访问应用程序范围的symfony参数(在app/config/parameters.yml中定义)。我试了试运气,将参数插入百分号内并通过函数“参数”(如DIhere所述),但均无济于事。下面是带有参数函数的例子:example_route:path:/example/{_locale}condition:"request.getLocale()inparameter('locales_array')"defaults:_controller:"AcmeExampleBundle:Example:index"_locale:%
我需要一个正则表达式,它应该至少有一个数字字符,允许大写和小写字母,也允许特殊字符我正在使用这个表达式/^.*(?=.{6,10})(?=.*\d)(?=.*[a-zA-Z]).*$但它对最大字符数10无效。 最佳答案 看来你想要这样的东西,^(?=.*\d)(?=.*?[a-zA-Z])(?=.*?[\W_]).{6,10}$上面的正则表达式只允许6到10个字符。它还检查至少一位数字、大写或小写字母和至少一个特殊字符(字母和数字以外的字符)。 关于php-密码的正则表达式必须包含至少8
我需要一个正则表达式来去除字符串中的外部/顶级HTML标记,但保留内部标记。$str="Starttestend.";进入$str="Starttestend.";还有$str="Starttestend.";进入$str="Starttestend.";.preg_replace('/]*>/','',$str);删除所有标签,而不仅仅是外部标签。 最佳答案 请注意使用正则表达式并不是修改HTML代码的最佳方式!在大多数情况下,使用DOMDocument或DOMDocumentFragement对象从HTML代码修改或提取数据会更
如何提取div中的完整html内容?我试过这段代码,$html='HelloHowareyou';$attr="id";$value="test";$tag_regex='/]*'.$attr.'="'.$value.'">(.*?)/si';preg_match($tag_regex,$html,$matches);echo$matches[0];通过运行这段代码,我得到了结果,Hello预期结果,HelloHowareyou在我的代码中,正则表达式一直执行到第一次出现.我怎样才能得到里面的完整代码? 最佳答案 使用DOMDocu
这段代码str_replace('A','Amp',$var)可以将2.7A转换为2.7Amp。但是,它不应将A2转换为Amp2。使用正则表达式模式的preg_replace可以解决这个问题吗? 最佳答案 使用正后向正则表达式来匹配紧跟在数字之后的所有A。(?然后将匹配的A替换为Amp。DEMOechopreg_replace('~(? 关于php-preg_replace正则表达式模式,我们在StackOverflow上找到一个类似的问题: https://
您好,我试图在将字符串转换为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);但我得到的是:/
我想在评论中找到所有视频持续时间链接并将它们转换为anchor标签。持续时间可能如下所示:01:20:55(h:m:s)20:30(m:s)1:21(m:s)1:35:12(h:m:s)我觉得我可能很接近,但对正则表达式还是很陌生http://regexr.com/3bfmu^([\d]{1,2}\:)?([\d]{1,2})?\:([\d]{1,2})$在此上下文中使用:$parsedTimeCommentString=preg_replace("/^([\d]{1,2}\:)?([\d]{1,2})?\:([\d]{1,2})$/","$1:$2:$3",$comment['com