草庐IT

preg_grep

全部标签

PHP preg_replace - www 或 http ://

真正坚持看似简单的事情。我有一个聊天框/shoutbox,其中可能输入了任意URL。我想找到每个单独的URL(以空格分隔)并将其包装在标签中。示例:Harryyou'reahttp://google.comwizard!=Harryyou'rea$lhttp://google.com$lwizard!示例:Harryyou'reahttp://www.google.comwizard!=Harryyou'rea$lhttp://www.google.com$lwizard!示例:Harryyou'reawww.google.comwizard!=Harryyou'rea$lwww.go

php - preg_replace 匹配但不替换

在下面的代码中,我尝试获取一些文本并在其周围包裹一个htmlanchor:$d="hello,there,how,are,you";$d=preg_replace("/[a-zA-Z]+/","$1",$d);它正确地识别了每个单词并用替换文本替换了每个单词但是它没有将匹配的单词放入字符串中,它只是将其留空。我在PHP5上。我错过了什么?提前致谢。 最佳答案 您忘记捕获匹配项:$d="hello,there,how,are,you";$d=preg_replace("/([a-zA-Z]+)/","$1",$d);//^^youfo

php - Preg_match 从一些数字中删除最后的零

我认为只有在我编写正则表达式时才会发生这种情况。我有一个简单的正则表达式来验证一组页码,稍后将提交给数据库,如5、10、25、50,100,250示例:/all|5|10|25|50|100|250/当我执行测试时,我上面的正则表达式仅从数字50、100和250中剪切0而不是从10中剪切!!?在线示例:http://viper-7.com/IbKFKw我在这里做错了什么?这次我真正错过了什么? 最佳答案 这是因为在字符串50中,正则表达式首先匹配5,这是有效的。在字符串250中,正则表达式首先匹配25,这是有效的,到此结束。您可以尝

php - 任何 preg_match() 从文本中提取图像 url?

我需要一个preg_match()语法或类似的东西来提取JPG或PNG或来自混合文本的GIFURL并将它们放在一个数组中或最后存储第一个url。可能是一些搜索以http开头并以jpg/png/gif结尾的字符串的语法..我相信它可以用preg_match()注意:文本可以是这样的:blablablabla"http://www.example.com/xxx.jpg"blablablabla 最佳答案 请注意在特殊情况下它们可能会欺骗您的服务器插入假匹配。例如:http://www.myserver.com/virus.exe?fa

php - preg_replace http 为 https

简单地说,我需要检查变量$url中的字符串是否是一个简单的http,如果是,将其替换为https-但我无法让它工作-任何想法:$url="http://www.google.com";//examplehttpurl##$url_replaced=preg_replace('#^http://#','https://',$url);//replacehttpwithhttps##干杯! 最佳答案 为什么不用str_replace?$url="http://www.google.com";//examplehttpurl##$url=

PHP:使用 preg_match 获取 url 变量?

http://www.example.com?id=05或http://www.example.com?id=05&name=johnny这是一个字符串。我想从中获取$id的值。它的正确模式是什么? 最佳答案 您不需要正则表达式(除非您有充分的理由,否则您以后不应该直接跳到正则表达式)。使用parse_url()使用PHP_URL_QUERY检索查询字符串。然后将其与parse_str()配对.$querystring=parse_url('http://www.mysite.com?id=05&name=johnny',PHP_U

php - Preg_match 用于所有特殊字符,密码检查

好的,我正在为我们的密码策略编写一个密码检查器,它需要4个主要分类中的3个。我遇到问题的地方是特殊字符匹配。这是我目前所拥有的:privatefunctionPasswordRequirements($ComplexityCount){$Count=0;if(preg_match("/\d/",$this->PostedData['password'])>0){$Count++;}if(preg_match("/[A-Z]/",$this->PostedData['password'])>0){$Count++;}if(preg_match("/[a-z]/",$this->Poste

regex - PHP preg_match_all 限制

我将preg_match_all用于非常长的模式。当运行代码时,我得到了这个错误:Warning:preg_match_all():Compilationfailed:regularexpressionistoolargeatoffset707830经过搜索,我得到了解决方案,所以我应该增加php.ini中的pcre.backtrack_limit和pcre.recursion_limit的值>/p>但是在我增加值并重新启动我的apache之后,它仍然遇到同样的问题。我的PHP版本是5.3.8 最佳答案 该错误与正则表达式的性能无关

php - 带有 preg_match 的有效电子邮件

这个问题在这里已经有了答案:HowtovalidateanEmailinPHP?(7个答案)关闭8年前。我在使用preg_match()验证电子邮件地址时遇到问题。这是我的代码块。if(VerifierAdresseMail($email))echo'valide.';elseecho'notvalid';functionVerifierAdresseMail($adresse){$Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#';if(preg_match($Syntaxe,$adresse))returntrue;elsereturnfals

php - 在多维数组上使用 preg_match 返回键值数组

我有一个结构如下的数组:$data=array("abc"=>array("label"=>"abc","value"=>"def","type"=>"ghi","desc"=>"jkl",),"def"=>array("label"=>"mno","value"=>"qrs","type"=>"tuv","desc"=>"wxyz",),);我想使用带有foreach循环的preg_match来对$data中包含的数组执行搜索并返回键值对的嵌套数组。 最佳答案 对于谷歌员工来说,这里有更好的代码$data=$pattern="/w