草庐IT

regex_replace

全部标签

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_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 RegEx - 获取所有数字

我有这个代码:$string="123456ABcd9999";$answer=ereg("([0-9]*)",$string,$digits);echo$digits[0];这会输出“123456”。我希望它输出“1234569999”即。所有数字。我怎样才能做到这一点。我一直在尝试很多不同的正则表达式,但无法弄清楚。 最佳答案 首先,不要使用ereg(它已被弃用)。其次,为什么不把它换掉:$answer=preg_replace('#\D#','',$string);请注意,\D是\d的倒数。所以\d匹配所有十进制数字字符(0-

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 - 使用数组时 str_replace 更快吗?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭11年前。我的问题是在str_replace上使用数组是否比多次执行它更快。我的问题只针对两个替换。用数组$phrase="Youshouldeatfruits,vegetables,andfibereveryday.";$healthy=array("fruits","vegetables");$yummy=array("pizza","beer");$newp

php - 关键字 highlight 是在 PHP preg_replace() 中高亮显示高亮

我有一个小型搜索引擎在做它的事情,并且想要突出显示结果。我以为我已经解决了所有问题,直到我今天使用的一组关键字把它从水中吹了出来。问题是preg_replace()循环遍历替换,后来的替换替换了我插入到之前的文本中的文本。使困惑?这是我的伪函数:publicfunctionhighlightKeywords($data,$keywords=array()){$find=array();$replace=array();$begin="";$end="";foreach($keywordsas$kw){$find[]='/'.str_replace("/","\/",$kw).'/iu'

php - 了解 str_replace 和 strtr 在 php 中的工作原理

$search=array('A','B','C','D','E');$replace=array('B','C','D','E','F');$subject='A';$trans=array('A'=>'B','B'=>'C','C'=>'D','D'=>'E','E'=>'F');echostr_replace($search,$replace,$subject);echo"";echostrtr($subject,$trans);Output:FB当使用str_replace我得到F,使用strtr我得到B据我所知,对于str_replace:它从左到右替换,因此A被B替换而不标