草庐IT

preg-match

全部标签

PHP 预匹配。添加到数组

基本上,我试图使用preg_match查找所有带有PDF附件的链接,然后将整个url添加到一个数组中。我正在努力解决的部分是如何在比赛前选择所有内容,直至的“引号”。.我想这样做,以便我可以遍历数组并对每个文档执行任何我需要的操作。我只想以'1234.pdf'结束(加上任何子目录信息)在数组中。有什么想法吗?这是我目前所拥有的,它只返回匹配...$string1="Document1";$match=preg_match("/.pdf/i",$string1,$output);谢谢 最佳答案 您应该使用DOM解析器来提取该信息,因为

php - 用于检测连续数字的正则表达式 - 不适用于非英语输入

大家好,我有这段代码可以检查5个或更多连续数字:if(preg_match("/\d{5}/",$input,$matches)>0)returntrue;它适用于英语输入,但当输入字符串包含阿拉伯语/多字节字符时它会出错-即使输入文本中没有数字,它有时也会返回true。有什么想法吗? 最佳答案 您似乎在使用PHP。这样做:if(preg_match("/\d{5}/u",$input,$matches)>0)returntrue;注意表达式末尾的“u”修饰符。它告诉preg_*使用unicode模式进行匹配。

php - preg_replace 正则表达式问题

我正在尝试清理一个字符串。我只需要允许大写/小写字母数字空格、制表符、回车符这些字符:_-+*()[]!#?.,;:'"其他一切都需要告别。我该怎么做?我有这个,它适用于大写/小写字母、数字和空格。但是不知道制表符、回车、特殊字符怎么算?$str=preg_replace('/[^a-z0-9]/i','',$str); 最佳答案 尝试$str=preg_replace('/[^\w\r\n\t+*()[\]!#?.\,;:\'"-]/','',$str); 关于php-preg_rep

php - preg_replace 有两个替换

例如我在数据库中有一句话:His$name$is$Luis$现在,我想替换标签()中的$..$,例如:HisnameisLuis我怎样才能用preg_replace做到这一点?我试着简单地做:$replace[0]='';$replace[1]='';preg_replace('/[$]/',$replace,$string);但不起作用。 最佳答案 preg_replace('/\$(.*?)\$/','\1',$string); 关于php-preg_replace有两个替换,我们在

php - preg_replace 带有/e修饰符的代码评估

我正在寻找eval()的替代方法来执行字符串变量中包含的代码,并注意到preg_replace带有/e修饰符。但是,代码的计算非常奇怪。例如,echo()在php5.3.6中导致错误:错误信息:Parseerror:syntaxerror,unexpectedT_ECHOin/Users/.../test.php(4):regexpcodeonlineFatalerror:preg_replace():Failedevaluatingcode:echo('Hello,world!'.PHP_EOL)in/Users/.../test.phponline4当print()工作并输出Hel

php - preg_replace 语法在图像标签结束后添加字符

我需要一个preg_replace语法来在我拥有的字符串中的图像标签的/>之后添加一些东西(任何东西)。比如$string="hereisastring!"需要成为...$string="hereisastring!" 最佳答案 $string='';$result=preg_replace('/(]+>(?:)?)/i','$1',$string);这将匹配以及任何大写变体。表达式的分解:外括号-匹配正则表达式并捕获到反向引用1匹配字符从字面上看匹配任何不是>的字符尽可能多的次数在1次到无限次之间匹配字符>字面意思(以说明在发现时

php - 交换所有 youtube 网址以通过 preg_replace() 嵌入

您好,我正在尝试将youtube链接转换为嵌入代码。这是我的:text;$search='#';$text=preg_replace($search,$replace,$text);echo$text;?>它适用于一个链接。但是,如果我添加两个,它只会交换最后一次出现的位置。我需要更改什么? 最佳答案 您没有正确处理字符串的末尾。删除$,并将其替换为结束标记.这将解决它。$search='##x';$replace='';$text=preg_replace($search,$replace,$text);

php - 使用 cURL 从网页获取 html 并使用 preg-replace 去除 html

我想获取海盗湾的统计数据,统计数据可以在TPB上的以下div中找到:5.695.184registeredusersLastupdated14:46:05.35.339.741peers(25.796.820seeders+9.542.921leechers)in4.549.473torrents.这是我的代码:)(.*?)()(.*?)/','$2',$data);echo$data;curl_close($ch);exit;?>如您所见,我使用以下preg-replace模式来去除HTML:$data=preg_replace('/(.*?)()(.*?)()(.*?)/','$2

php - Twitter 风格的 URL 正则表达式匹配

我正在尝试为使用PHP的聊天客户端实现非常宽松的正则表达式匹配。聊天客户端必须能够获取完整和不完整的URL。例如:http://www.example.com或www.example.com或example.com我已经设置了一个preg_replace来尝试实现这一点:$find=array("/([\w]+:\/\/[\w-?&;#~=\.\/\@]+[\w\/])/is","/(^(?!http:\/\/)[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,4}(\/?\S*)?)/is");$replace=array("\\1","\\1");$output=preg_

php - 匹配变量中的第一个和最后一个完整单词

我使用phppreg_match将变量中的第一个和最后一个单词与给定的第一个和最后一个特定单词匹配,例子:$first_word='t';//Iwanttoforce'this'$last_word='ne';//Iwanttoforce'done'$str='thisfunctioncanbedone';if(preg_match('/^'.$first_word.'(.*)'.$last_word.'$/',$str)){echo'true';}但问题是我想在(开始和结束)处强制匹配整个单词,而不是第一个或最后一个字符。 最佳答案