草庐IT

php - 如何在 preg_match 语句中使用 "if X or X"

我希望在PHP中像这样声明:if(preg_match("/apples/",$ref1,$matches))或if(preg_match("/oranges/",$ref1,$matches)){然后做点什么上面的每一个单独工作都很好,但我不知道如何做到,如果其中任何一个为真,那么执行我在它下面的功能。 最佳答案 使用|选择一个值或另一个。您可以多次使用它。preg_match("/(apples|oranges|bananas)/",$ref1,$matches)编辑:这篇文章让我很饿。

php - 使用 preg_split 拆分和弦和单词

我正在编写一段播放歌曲标签的小代码,但我遇到了一个问题。我需要解析每首歌曲的标签行并将其拆分,一方面获取和弦block,另一方面获取单词。每个block都像:$line_chunk=array(0=>//partoflinecontainingoneorseveralchords1=>//partoflinecontainingwords);他们应该保持“分组”。我的意思是,只有当函数达到和弦和单词之间的“极限”时,它才应该拆分。我想我应该使用preg_split来实现这一点。我做了一些测试,但我只能拆分和弦,而不是和弦的“组”:$line_chunks=preg_split('/(\

php 使用 preg_match 验证字符串

我试图在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 的 PHP

我不太擅长找到正确的正则表达式自动化来生成不同的表达式,但是当涉及到用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...这应该可以帮助我验证可能只有该类型内容的字段。它应该是一个正则表达式验证,而不是一个用于解析、拆

php - 函数 split() 已弃用,preg_split() : No ending delimiter ',' found

我有一个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

php - PHP Preg 引擎中的错误 : look-around Unicode issue

为什么后面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

php - preg_match_all 到简单数组

我有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

php - 如何在 PHP 中使用 preg_replace 匹配俄语单词?

如何在PHP中匹配字符串(也是俄语)中的俄语单词?例如这样的事情:$pattern='/слово/';preg_replace($pattern,$replacement,$string_in_russian)我试过了utf8_encode和htmlentities为$pattern使用UTF-8标志,但它没有用。我还应该对$string_in_russian进行编码吗?更新:/u标志的建议没有用,所以我放置了我需要它的实际代码。它来自Wordpress的词汇表插件(我的网站已正确设置为使用俄语,它确实有效,但在本例中无效)。所以这是代码$glossary_title=$glossa

java - PHP 在 Java 中的 `preg_match_all` 功能

在PHP中,如果我们需要匹配类似["one","two","three"]的内容,我们可以将以下正则表达式与preg_match.$pattern="/\[\"(\w+)\",\"(\w+)\",\"(\w+)\"\]/"通过使用括号,我们还可以提取单词一、二和三。我知道Java中的Matcher对象,但无法获得类似的功能;我只能提取整个字符串。我将如何去模仿Java中的preg_match行为。 最佳答案 对于Matcher,要获取组,您必须使用Matcher.group()方法。例如:Patternp=Pattern.compi

php - 使用 preg_replace() 和正则表达式将大写字符串替换为小写字符串

是否可以使用preg_replace和regex将大写字母替换为小写字母?例如:以下字符串:$x="HELLOLADIES!";我想把它转换成:helloladies!使用preg_replace():echopreg_replace("/([A-Z]+)/","$1",$x); 最佳答案 我想这就是你想要完成的:$x="HELLOLADIES!Thisisatest";echopreg_replace_callback('/\b([A-Z]+)\b/',function($word){returnstrtolower($word[