草庐IT

preg_reg_other

全部标签

php - 为什么当我使用 simplexml_load_file() 时 preg_match() 结果在 PHP 中显示为 0?

我的php有一些问题,这是我的代码test.xml类似:Test655Tsungphp代码:asXML());$pattern="/结果显示为“0”,表示未找到,所以我更改$pattern值$pattern="document";结果显示“1”(表示找到)我调试了很多时间...也许编码UTF-8,ASCIIprobram或"/错了吗?我的目的是想解析这个字符串然后得到'..'有人可以告诉我我的错误在哪里吗??谢谢:)) 最佳答案 您正在使用解析器,只需解析它,不需要正则表达式。$xml='Test655Tsung';$xml=new

PHP preg_match 不适用于换行

这个问题在这里已经有了答案:PHPRegex:Howtomatch\rand\nwithoutusing[\r\n]?(7个答案)关闭去年。我有这个漂亮的preg_match正则表达式:if(preg_match("%^[A-Za-z0-9ążśźęćńółĄŻŚŹĘĆŃÓŁ\.\,\-\?\!\(\)\"\\/\t\/\n]{2,50}$%",stripslashes(trim($_POST['x']))){...}这应该允许可以在帖子中使用的所有字符以及帖子的最终文本内容。问题是,尽管\n它的功能仍然不适用于我帖子中的新行,因此语法为foobar不会工作。有谁知道为什么该功能无法正

php - 对所有特殊字符使用 preg_split

我想在每次找到特殊字符时拆分一个字符串。我这样做了:preg_split("[\\W]",$str);但这仍然允许下划线(也许更多?)是否可以只说允许a-zA-Z和数字并拆分任何不是其中之一的东西? 最佳答案 您刚刚回答了您的问题:preg_split('~[^a-z0-9]~i',$str);参见thisregexdemo[^a-z0-9]negated字符类匹配除a-z(和A-Z由于i修饰符)而不是数字(用0-9定义)。另一种方法是在否定字符类中使用POSIX[:alnum:]字符类:'~[^[:alnum:]]~'参见rege

php - 正则表达式 preg_match 未按预期工作

所以我从数据库中获取链接,这些链接看起来像这样:www.website.com/games/randomcode1/RANDOM-URL-TITLE-NEEDED.htmlwww.website.com/blabla/randomcode2/RANDOM-URL-TITLE-NEEDED2.htmwww.website.com/whatever/randomcode2/RANDOM-URL-TITLE-NEEDED3.html在我的foreach循环中,Urls表示为$row['links'];我想做的是只采用RANDOM-URL-TITLE-NEED。这意味着我需要url中从最后一个

php - preg_replace href anchor 与 anchor 文本

如何用每个anchor文本替换所有anchor。我的代码是$body='Themanwasdancinglikealittleboywhileallkidswerewatching...';我希望结果是:Themanwasdancinglikealittleboywhileallkidswerewatching...我用过:$body=preg_replace('#.*?#i','$1',$body);结果是:Themanwaswhileallkidswerewatching... 最佳答案 试试这个$body='Themanwas

php - 当使用 PHP 选择值 'other' 时如何显示 HTML 输入字段

我想弄清楚的是,当从下拉菜单中选择other的值时,如何让htmlinput字段出现。现在,下拉列表的值来自MySQLDB查询的结果,该查询有效,但我似乎无法弄清楚如何在选择其他选项时显示输入。$query=mysql_query("SELECTtypeFROMDropdown_Service_Type");//Runyourqueryecho'';//Openyourdropdownboxecho'';//Loopthroughthequeryresults,outputingtheoptionsonebyonewhile($row=mysql_fetch_array($query)

php - 使用 preg_replace 替换字符,除非前面有转义字符

我正在尝试执行以下操作,希望周围有reg_ex专家可以提供一些帮助。我需要在我的代码中替换字符[并使其成为{。但是有些情况下[需要保持[而不是改变。所以我认为我需要使用preg_replace("[","{",$string);具有合适的正则表达式的函数,这将导致[前面没有转义字符的字符被使用让我们说。那么我怎样才能替换这个“[”而不是这个“[”呢?提前致谢 最佳答案 你可以做到这一点,它是通过约定调用negativelookbehindassertionsechopreg_replace("/(?基本上,“仅当前面没有\时才将[替

php - 使用 preg_match 在一些字符后拆分字符串

我发现这段代码最多匹配300个字符,然后在下一个最近的分词符处中断:$var='Thisisatesttext1234567890testcheck12.'#44charspreg_match('/^.{0,300}(?:.*?)\b/iu',$var,$matches);echo$matches[0];44低于300,所以我希望输出与$var相同。但是输出是:Thisisatesttext1234567890testcheck12#43chars$matches[0]没有在末尾给我点,但是$var有。任何人都可以告诉我如何获得完整的字符串(带点)? 最佳答

php - 为什么 preg_replace 给出这个输出?

我只是想不通,出于某种原因:$string="#mainparent{position:relative;top:100px;left:100px;width:4994px;}";$elementwidth="88";$re1='(.*?)';#Non-greedymatchonfiller$re2='(mainparent)';#Word1$re3='(.*)';#Non-greedymatchonfiller$re4='(width:)';$re5='(.*)';#Word2$re6='(;)';#AnySingleCharacter1$pattern="/".$re1.$re2.

PHP preg_match 部分 url

我正在尝试用PHP创建一个url路由器,它的工作原理与django类似。问题是,我不太了解php正则表达式。我希望能够像这样匹配url:/post/5//article/slug-goes-here/我有一组正则表达式:$urls=array("(^[/]$)"=>"home.index","/post/(?P\d+)/"=>"home.post",);数组中的第一个正则表达式与位于/的主页匹配,但我无法让第二个正则表达式工作。这是我用来匹配它们的代码:foreach($urlsas$regex=>$mapper){if(preg_match($regex,$uri,$matches)