草庐IT

Preg_match_all

全部标签

替换字符串中的 PHP preg_quote

我使用preg_replace并且我想在替换字符串中包含一个url。我如何引用该字符串?看来preg_quote仅适用于搜索模式。$replace='\1'.addslashes($url).'\3'.addslashes($title).'\4'; 最佳答案 需要逃避addslashes是不够的preg_quote转义太多参见thisdemo.正如Mario评论的那样,您可以使用addcslashes($str,"\\$")。 关于替换字符串中的PHPpreg_quote,我们在Sta

php - mysqli_fetch_all 在 PHP 5.4.11 上停止工作

我有一个带主机的基本站点,最近mysqli_fetch_all命令似乎已停止工作,因为我收到消息:Fatalerror:Calltoundefinedfunctionmysqli_fetch_all()infileatlinewherefunctionisused我将服务器上的文件回滚到一个我知道有效的集合,但我遇到了同样的问题,即使该页面正在运行PHP5.4+。我不明白为什么它突然停止工作了。离线时,使用XAMPP,mysqli_fetch_all命令可以完美运行,因此问题似乎与数据库或代码无关。出于未知原因,我不想用while循环重写大量页面。这是服务器主机的问题吗?任何帮助将不胜

php - Codeigniter:将 sess_match_ip 设置为 FALSE 是否仍然安全

我正在处理一个网站,来自某些国家/地区的访问者在使用codeigniter缓存系统时遇到问题。缓存在一两个请求后被删除。经过深入调查,我将sess_match_ip和sess_match_useragent设置为FALSE,现在一切正常。将这些配置保留为FALSE是否安全?谢谢 最佳答案 它的安全性稍差,但通常是必需的,尤其是在处理移动设备或代理服务器银行后面的用户时。为确保您尽可能安全,请务必将数据库用于session,并务必设置加密key和sess_encrypt_cookie,以便混淆存储在cookie中的少量信息。您可以做的

php preg_split 忽略特定字符串中的逗号

我需要一些帮助。我想要的是忽略特定字符串中的逗号。这是一个逗号分隔的文件csv,但名称有一个逗号,我需要忽略它。我得到的是结果是$result(phpcode):'hypertextlanguage',1=>'programming',2=>'Amazon',3=>'Inc.',4=>'100',);?>我想要的结果是$result(phpcode):'hypertextlanguage',1=>'programming',2=>'Amazon,Inc.',3=>'100',);?>感谢您的帮助:) 最佳答案 请注意[\W,\s]=

PHP 正则表达式,preg_replace_callback,在 1 个字符串中有 2 个可能的匹配失败

我正在研究这个非常基础的类(class),以了解有关正则表达式的更多信息。我想要实现的是从testview文件中抓取内容,抓取恰好在{{EACHslides}}和{{#EACH}}之间的字符串。现在出现在类中的正则表达式就是这样做的,加上开始标记中的变量名。然后我想使用该字符串与正确的变量一起循环并将其放回原处。但是当我在我的View中使用2个EACH循环而不是1个时,它会严重失败。preg_replace_callback()将匹配第二个循环的第一个开始标记和最后一个结束标记,并给出如下字符串:"htmlbalalbal{{#EACH}}morehtmlblabla{{EACHnew

php - 警告 : preg_match() [function. 预匹配]:未知修饰符 'v'

我在我的wordpress博客中关于同一行代码不断收到此错误约20次。这是不断出现错误的代码行。if(preg_match('/'.$id_base.'-([0-9]+)$/',$widget_id,$matches))$number=max($number,$matches[1]);有什么问题吗? 最佳答案 如果字符串$id_base中有/,您的正则表达式将中断,因为您使用/作为正则表达式分隔符。要解决此问题,请在$id_base上使用preg_quote作为:if(preg_match('/'.preg_quote($id_ba

php - 更改函数以使用 preg_replace() 而不是 ereg_replace

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:replaceereg_replacewithpreg_replace我在代码库中获得了以下函数,该函数采用字符串并使链接处于事件状态。我注意到ereg_replace()已折旧。我将如何更改它以使用preg_replace?functionmakeActiveLink($originalString){$newString=ereg_replace("[[:alpha:]]+://[^[:space:]]+[[:alnum:]/]","\\0",$originalString);return$newStri

PHP preg_replace 除了括号内的所有逗号

我正在尝试格式化sql语句以使其更易于阅读。$sql="SELECTtitle,url,author,FROM_UNIXTIME(published,'%Y')ASyearFROMarticlesWHEREidIN(2010,2011,2012)";预期结果:SELECTtitle,url,author,FROM_UNIXTIME(published,'%Y')ASyearFROMarticlesWHEREidIN(2010,2011,2012)它只是让像SELECT、FROM、WHERE...这样的关键字在它们自己的行上,然后在每个逗号后插入一个换行符+制表符,但不是括号内的那些逗号

php - 如何 preg_match 第一次出现在字符串中

我正在尝试从电子邮件正文中提取From:address。这是我目前所拥有的:$string="From:user1@somewhere.comThisisjustatest..theoriginalmessagewassentFrom:user2@abc.com";$regExp="/(From:)(.*)/";$outputArray=array();if(preg_match($regExp,$string,$outputArray)){print"$outputArray[2]";}我想获取第一次出现From:..的电子邮件地址,有什么建议吗? 最佳答

php - 使用 preg_match_all 将所有数字与正则表达式匹配

我有一个文本,并尝试为其中的每个3号数字添加链接。我使用带有模式的preg_match_all:(^|[^\d])(\d{3})($|[^\d])此处使用分组来仅将链接添加到数字,而不添加到它们的邻居。测试用例是:a123234b-必须匹配123和234a123_234b-必须匹配123和234aa123234b-必须匹配123和234a0123234b-必须匹配仅234123a234b-必须匹配123和234a123234-必须匹配123和234测试2和3工作正常,其他测试失败,因为2个数字之间有空格。如何匹配两个数字之间只有1个空格? 最佳答案