我希望在PHP中像这样声明:if(preg_match("/apples/",$ref1,$matches))或if(preg_match("/oranges/",$ref1,$matches)){然后做点什么上面的每一个单独工作都很好,但我不知道如何做到,如果其中任何一个为真,那么执行我在它下面的功能。 最佳答案 使用|选择一个值或另一个。您可以多次使用它。preg_match("/(apples|oranges|bananas)/",$ref1,$matches)编辑:这篇文章让我很饿。
我正在编写一段播放歌曲标签的小代码,但我遇到了一个问题。我需要解析每首歌曲的标签行并将其拆分,一方面获取和弦block,另一方面获取单词。每个block都像:$line_chunk=array(0=>//partoflinecontainingoneorseveralchords1=>//partoflinecontainingwords);他们应该保持“分组”。我的意思是,只有当函数达到和弦和单词之间的“极限”时,它才应该拆分。我想我应该使用preg_split来实现这一点。我做了一些测试,但我只能拆分和弦,而不是和弦的“组”:$line_chunks=preg_split('/(\
我试图在PHP中使用preg_match验证输入字符串仅包含“a-z、A-Z、-、_、0-9”字符。如果它仅包含这些,则进行验证。我试图在谷歌上搜索,但找不到任何有用的东西。有人可以帮忙吗?谢谢! 最佳答案 如果空字符串也有效,请使用模式'/^[A-Za-z0-9_-]*$/'。否则'/^[A-Za-z0-9_-]+$/'所以:$yourString="blahblah";if(preg_match('/^[A-Za-z0-9_-]*$/',$yourString)){#yourstringisgood}此外,请注意,您希望在字符类
我不太擅长找到正确的正则表达式自动化来生成不同的表达式,但是当涉及到用PHP编写脚本时,这让我很头疼。我无法证明自己能够在preg_match中编写一个“适合”表达式的模式,例如:123-23-345...123-34-456....12-234-56.....它应该是3组数字,其中每组,individualy是从左到右排序的,并且每个下一组的数字都不比前一组的最大数字大。这:123-23-456是错误的,因为23中的2小于123中的3。123-43-45又是错误的,因为43应该是34...这应该可以帮助我验证可能只有该类型内容的字段。它应该是一个正则表达式验证,而不是一个用于解析、拆
假设我们有这样的文本:...settingsA=9,4.2settingsB=3,1.5,9,2,4,6settingsC=8,3,2.5,1...问题是我如何使用一个步骤捕获特定行中的所有数字?单步意味着:单个正则表达式模式。单一操作(无循环或拆分等)所有匹配都被捕获在一个数组中。假设我想捕获以settingsB=开头的行中出现的所有数字。最终结果应该是这样的:31.59246我失败的尝试:更新1:不幸的是,@Saleem的示例使用了多个步骤而不是单个步骤。我并不是说他的例子不好(它确实有效),但我想知道是否有另一种方法可以做到这一点以及如何做到这一点。有什么想法吗?更新2:@bob
我有一个10年前写的PHP脚本。现在我们将脚本移至新服务器,但它无法正常工作。有问题的行是:$p_industry=split(',',$member['p_industry']);测试电子邮件收到此错误消息:Functionsplit()isdeprecated.我研究了这个网站,然后用替换了脚本$p_industry=preg_split(',',$member['p_industry']);然后测试电子邮件收到此不同的错误消息:preg_split():Noendingdelimiter','found当我将脚本更改为$p_industry=explode(',',$member
有没有办法做到这一点?我想以下将不起作用。UPDATEtableSETcolumn=column+1...除了编写函数或使用PHP之外,还有其他方法可以通过查询来实现吗? 最佳答案 你试过吗?它应该正常工作。 关于php-Postgres:updateallvaluesincolumnbyone?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4087987/
关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭6个月前。Improvethisquestion在一个PHP项目中,我有:$string="1,555";str_replace(',','',$string);echo$string;//isstill1,555str_replace不会删除逗号。如果我var_dump。我得到string(5)"1,555"有什么想法吗?我只需要删除逗号以便
为什么后面js码字:"آرد@".replace(/(?=.)/g,'!');//returns:""!آ!ر!د""但它的php等价物返回'!��!��!��!��!��!��'?preg_replace('/(?=.)/u','!','آرد');//returns'!�!�!�!�!�!�'这仅适用于4.3.5-5.0.5、5.1.1-5.1.6版本。参见:http://3v4l.org/jrV0W 最佳答案 如果您简单地添加/u修饰符,该模式应该被视为utf-8。第二个示例之所以有效,是因为:自PHP5.1起,您可以使用\p
我有preg_match_all函数:preg_match_all('#(.*?)#is',$source,$output,PREG_SET_ORDER);它按预期工作,但问题是,它preg_matches所有项目两次并进入一个巨大的多维数组,例如,它按预期预匹配所需的所有11个项目,但两次并进入一个多维数组:Array([0]=>Array([0]=>10.CruelbySt.Vincent[1]=>10.CruelbySt.Vincent)[1]=>Array([0]=>9.RobotRockbyDaftPunk[1]=>9.RobotRockbyDaftPunk)[2]=>Arr