草庐IT

php - 如何使用 preg_match 在数组中搜索?

如何使用preg_match在数组中进行搜索?例子:name','this'),$match)){//Excelent!!$items[]=$match[1];}else{//Ups!notfound!}?> 最佳答案 在这篇文章中,我将为您提供三种不同的方法来满足您的要求。我实际上建议使用最后一个片段,因为它最容易理解并且代码非常简洁。如何查看数组中与我的正则表达式匹配的元素?有一个专门用于此目的的函数,preg_grep。它将一个正则表达式作为第一个参数,一个数组作为第二个参数。请看下面的例子:$haystack=array('

PHP 使用 RegEx 获取字符串的子串

我正在寻找一种使用PHP解析子字符串的方法,并且遇到了preg_match,但是我似乎无法计算出我需要的规则。我正在解析一个网页,需要从字符串中抓取一个数值,字符串是这样的producturl.php?id=736375493?=tm我需要能够获取这部分字符串:736375493谢谢亚伦 最佳答案 $matches=array();preg_match('/id=([0-9]+)\?/',$url,$matches);如果格式发生变化,这是安全的。如果URL中有任何其他数字,则slandau的答案将不起作用。php.net/preg

PHP 使用 RegEx 获取字符串的子串

我正在寻找一种使用PHP解析子字符串的方法,并且遇到了preg_match,但是我似乎无法计算出我需要的规则。我正在解析一个网页,需要从字符串中抓取一个数值,字符串是这样的producturl.php?id=736375493?=tm我需要能够获取这部分字符串:736375493谢谢亚伦 最佳答案 $matches=array();preg_match('/id=([0-9]+)\?/',$url,$matches);如果格式发生变化,这是安全的。如果URL中有任何其他数字,则slandau的答案将不起作用。php.net/preg

php - 在 PHP 中使用 preg_replace 时如何获得匹配项?

我正在尝试获取几个单词的大写字母并将它们包装在span标签中。我正在使用preg_replace用于提取和包装目的,但它不输出任何内容。preg_replace("/[A-Z]/","$1",$str) 最佳答案 你需要把模式放在括号/([A-Z])/中,像这样:preg_replace("/([A-Z])/","$1",$str) 关于php-在PHP中使用preg_replace时如何获得匹配项?,我们在StackOverflow上找到一个类似的问题: h

php - 在 PHP 中使用 preg_replace 时如何获得匹配项?

我正在尝试获取几个单词的大写字母并将它们包装在span标签中。我正在使用preg_replace用于提取和包装目的,但它不输出任何内容。preg_replace("/[A-Z]/","$1",$str) 最佳答案 你需要把模式放在括号/([A-Z])/中,像这样:preg_replace("/([A-Z])/","$1",$str) 关于php-在PHP中使用preg_replace时如何获得匹配项?,我们在StackOverflow上找到一个类似的问题: h

php Preg替换清洁URL

该替换的最佳解决方案是什么?快速而优化我的链接:https://example.com/event/123/KindaDon'tCare2Feat.Jaba/CountryMusic(1990)我要干净:https://example.com/event/123/Kinda-Dont-Care2-Feat-Jaba/Country-Music-1990preg_replace('???????','-',$strUrl);编辑:$str1="KindaDon'tCare2Feat.Jaba";$str2="CountryMusic(1990)";替换为:$str1="Kinda-Dont-Ca

使用Preg_replace将永久链接转换为SEO友好的永久链接

如何转换永久链接'watch.php?a=randyText1&e=randottext2'至'watch/a/randotext1/e/tandytext2.html'如果randottext1和andyText2是随机文本,则使用PHPPREG_REPPERPE?看答案您可以使用例如这个正则:(watch)\.php\?(a)=([^&]+)&(e)=([^&]+)并替换为:$1/$2/$3/$4/$5.html但这确实取决于您的要求。这是您需要创建这样的链接的唯一示例吗?您还可以简化正则义务,只使用watch\.php\?a=([^&]+)&e=([^&]+)并用watch/a/

preg_replace,名称为包括双桶姓氏的连字符

我如何允许用户使用连字符输入其姓氏(例如Jones-Smith)但是,请删除所有其他非掌肌?目前我正在使用此信息:$_POST['Surname']=preg_replace("/[^\w]+/","",$_POST['Surname']);这是完美的,除了它去除连字符。有建议吗?看答案如果您想保留连字符,只需将它们添加到否定的角色集中:$_POST['Surname']=preg_replace("/[^\w\-]+/","",$_POST['Surname']);

PHP preg_match UUID v4

我有一个包含UUIDv4的字符串$uuid='http://domain.com/images/123/b85066fc-248f-4ea9-b13d-0858dbf4efc1_small.jpg';如何使用preg_match()从上面获取b85066fc-248f-4ea9-b13d-0858dbf4efc1值?可以找到有关UUIDv4的更多信息here 最佳答案 $uuid='http://domain.com/images/123/b85066fc-248f-4ea9-b13d-0858dbf4efc1_small.jpg'

PHP:preg_match 正则表达式找不到正确的字符串

preg_match_all('/[\s]{1}(AA|BB|CC)+[\s]{1}/','AABB',$matches);结果是AA,但我需要AA和BB。 最佳答案 [\s]{1}序列*您用来匹配匹配项之间的空格重叠。"AA"之后的尾随空格与"BB"之前的空格相同。任何一个字符只能匹配一次,所以扫描找到"AA"后,只会在剩余的"BB"字符串中查找匹配,并没有找到一个。尝试使用单词边界转义序列\b代替。这匹配单词的开头和结尾但实际上不消耗任何字符,因此它可以匹配多次:preg_match_all('/\b(AA|BB|CC)+\b/