草庐IT

regex_search

全部标签

php - 使用 PHP 和 RegEX 返回多个匹配项,但仅限于第一次出现模式

我有一个看起来像的数据集I(0,123...789){A(0,567...999){.......n=Marc.....}B(2,655...265){..................}C(3,993...333){..................}M(8,635...254){.................;}}O(0,345...789){A(0,567...999){.......n=Marc.....}B(2,876...775){..................}C(3,993...549){..................}M(8,354...987){

php - Zend_Search_Lucene 的替代品?

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭10年前。Improvethisquestion我想知道是否有任何其他库或模块可以替代Zend_Search_Lucene。

php - 用 php regex 替换方括号之间的子字符串

这是我正在处理的子字符串[sitetree_link%20id=2]我需要用空格替换所有出现在[]之间的%20。但很明显,如果[]大括号外有%20s,请不要管它们......我现在正在学习正则表达式,但这个似乎很难。有人对此有一个super智能的正则表达式吗?谢谢:) 最佳答案 你可以试试这个$result=preg_replace('/(\[[^]]*?)(%20)([^]]*?\])/m','$1$3',$subject);解释(#Matchtheregularexpressionbelowandcaptureitsmatchi

php - 用于检查 URL 是否为短 URL 的 Regex/php 代码

我正在尝试创建一个php函数来检查传递的URL是否为短URL。像这样:/***CheckifaURLisashortURL**@paramstring$url*returnbool*/function_is_short_url($url){//Codegoeshere}我知道更简单和可靠的方法是检查301重定向,但此功能旨在保存外部请求仅用于检查。该函数也不应检查URL缩短器列表,因为这将是一种可扩展性较差的方法。我在想的一些可能的检查也是如此:URL总长度-最多30个字符最后一个“/”后的URL长度-最多10个字符协议(protocol)(http://)后“/”的数量-最多2主机的

php regex - 干净的文件名

我正在寻找优雅的正则表达式来清理括号,内容看起来像文件名。[Nibhjusto]elitNulla[link.pdf]auctoripsummolestie(link.pdf)Condimentumeuismodnon[link.xls](link.xls)[link.doc](link.doc)tempusIn[Curabitur]et结果应该是:NibhjustoelitNullaauctoripsummolestieCondimentumeuismodnontempusInCurabituret我相信一定有一个捷径可以做到这一点。(文件的意思很简单-包括点。不需要句子检查。)感谢

php - array_search 行为不可预测

我有一个简单的函数,它查看传入的mySQL数据类型,然后将其汇总到一个“类别”(在此代码中称为一个系列),以便我可以在类别级别应用默认值。不管怎样,这段代码在查找整数、字符和文本类别时工作正常,但在日期时间和小数类别上完全失败。我束手无策。任何帮助将不胜感激:publicstaticfunctionget_family_type($col_type){$families=array('integer'=>array('integer','int','tinyint','mediumint','bigint'),'fixed'=>array('decimal','numeric'),'f

php regex删除CSS供应商前缀 hell

我正在尝试清理我的CSS文档以仅删除那些带有供应商前缀的行:-webkit-......;-o-.....;-ms-......;-khtml-......;-moz-......;如您所见,所有行都具有相同的模式并以分号结尾,只是供应商不同。到目前为止,我尝试了一个一个地搜索,但应该有更好的方法来实现这一点:preg_match("/(-webkit.*;)/",$css,$webkit);$css=str_replace($webkit[1],'',$css);//...etc任何提示将不胜感激。谢谢更新:原因是我将使用http://leaverou.github.com/pref

php - 在 PHP 中使用 REGEX 选择样式属性

我希望仅在php中使用正则表达式获取样式属性及其内容。例如输入期望的输出style="float:left;"我尝试过的:这似乎返回了整个图像,我不确定为什么。我不擅长正则表达式。$img='';preg_match('/(]+)style=".*?"/i',$img,$match);返回:[0]=>Array([0]=>谁有任何指点?干杯。 最佳答案 你几乎是正确的,你只需要捕获你想要的部分,将它括在括号中。您目前正在捕获错误的部分:$img='';preg_match('/]+(style=".*?")/i',$img,$mat

PHP : Search all record from array with specific value

我有2个数组。$a=(array('number'=>$value,'name'=>$name),array('number'=>$value,'name'=>$name),array('number'=>$value,'name'=>$name),);$b=(array('number'=>$value,'address'=>$address),array('number'=>$value,'address'=>$address),array('number'=>$value,'address'=>$address),...);现在,假设$a中的“number”=10的特定记录。在P

Php Regex查找字符串是否为mysql select语句

我试图在执行查询之前验证查询,如果查询不是mysqlselect语句,那么我必须向用户显示消息。我从这个链接找到了下面的正则表达式:ValidatesimpleselectqueryusingRegularexpression$reg="/^Select\s+(?:\w+\s*(?:(?=from\b)|,\s*))+from\s+\w+\s+where\s+\w+\s*=\s*'[^']*'$/i";接下来我写了下面的代码,但它总是打印不选择查询($match每次都是空的)$string="select*fromuserswhereid=1";preg_match_all($reg,