草庐IT

PREG_REPLACE_EVAL

全部标签

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 - 如何使用str_replace替换单引号和双引号

我必须创建一个登录表单,用户将在其中插入用户名和密码。我必须确保不处理html实体,并且我也不允许处理单引号或双引号。我必须回应输入到表单中的数据并显示它。我必须使用htmlentities和str_replace。我的htmlentities是正确的,但不确定如何使用str_replace函数来替换用户可能输入到表单中的单引号和双引号。任何帮助都会很棒。这是我当前的PHP(有效)Yourusernameis:Yourpassword:YourCommentwas: 最佳答案 首先,检查不需要的字符并返回给用户总是比默默地剥离它们更

php - 如何使 window.location.replace 在 IE 9 中工作?

我有以下代码检查用户名和密码,如果成功则重定向到新页面。它在Firefox上工作得很好,但是当我在IE9上尝试它时,它只是停滞不前。我需要做什么才能在IE上运行?username=$("#user_name").val();password=$("#password").val();$.ajax({type:"POST",url:"login.php",data:"name="+username+"&pwd="+password,success:function(html){console.log(html);if(html=='true'){window.location.repla

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 最佳答案 该错误与正则表达式的性能无关