草庐IT

regex_replace

全部标签

PHP preg_replace - 在结果中包含模式/完整主题

我有一个我自己无法解决的问题:替换...locale("Sendx","Send")locale("System","System")应该变成:locale("Sendx","Subsub")locale("System","Newsys")我尝试了一个简单的替换:$mysearchword="System";#changesinaloop$myreplaceword="Newsys";#alsochangesintheloop$oneline=str_replace($mysearchword,$myreplaceword,$oneline);但结果看起来像locale("Sendx

php - str_replace() 与 foreach、大写和精确单词匹配

我的代码是:$db=&JFactory::getDBO();$query=$db->getQuery(true);$query->select($db->quoteName(array('old','new')))->from($db->quoteName('#__words'));$db->setQuery($query);$results=$db->loadAssocList();$find=array();$replace=array();foreach($resultsas$row){$find[]=$row['old'];$replace[]=$row['new'];}$ne

php - 带有 str_replace 的 HTML 电子邮件模板

我有一个表单,我用AngularJs编写了它。当用户提交形成一个php脚本(用Slim制作)被执行,它将表单数据插入数据库并生成一个电子邮件(PHPmailer)。现在回答问题:我使用模板中的file_get_contents从电子邮件中获取结构,并将占位符替换为str_replace。模板:UserInformationFirstname:%firstname%Lastname:%lastname%OtherInformationPhone:%phone%E-Mail:%email%Organisation:%organisation%我的问题是并非所有这些字段都是必需的,我想删除如

php - Preg_replace str 如果不是紧跟着 str

我已经尝试了2个小时,但我似乎无法正确掌握正则表达式。我想替换字符串中的所有html注释,但前提是字符串没有立即被取代。标签。我已经很好地完成了以下工作,从字符串中删除所有html注释:preg_replace('//s','',$str);我正在尝试添加,以便在评论立即被取代时不会被替换。标签。我在想这样的事情(显然是错误的),但我无法理解它:preg_replace('/(?!)/s','',$str);感谢任何指导。 最佳答案 惰性点模式将匹配尽可能少的字符,直到与后续模式匹配的第一个子字符串,在您的情况下,这意味着一次找到,

php - 除了一些针以外,用 preg_replace 屏蔽所有字符

使用PHPpreg_replace和正则表达式$string_1="leavesb.alone";$string_2="pickone'swayforward";$string_2="sufferfromsth.";我需要用指定字符屏蔽每个字符串,但保留空格、撇号和一些字符串不变,例如:$mask_1="XXXXXsb.XXXXX";$mask_2="XXXXXXX'XXXXXXXXXXX";$mask_2="XXXXXXXXXXsth.";在这种情况下,我想保留:sb。……空格和撇号。任何帮助将不胜感激。with$mask_1=preg_replace('/(sb.\K)?./s',

php - REGEX 从不匹配 .htaccess 中的 Origin

我有10个子域并从子域(static.88n8.com)获取所有静态文件。我想允许.htaccess中所有子域的交叉来源:SetEnvIfOrigin"^http(s):\/\/(www\.google.com|google\.com|88n8\.com|second\.88n8\.com|third\.88n8\.com|fourth\.88n8\.com)$"OriginDomainStr=$0HeaderaddAccess-Control-Allow-Origin%{OriginDomainStr}eenv=OriginDomainStr或者这个:SetEnvIfOrigin"^

PHP Regex - 两台服务器上的不同解析

我有一个以前没见过的问题。同一个正则表达式在两个不同的服务器上产生两个不同的结果。这是代码:preg_replace('#[^\pL0-9_@-]#iu','','!%&abc123_æøå');服务器A上的结果(php5.2.6,服务器Api:Apache2.0处理程序):abc123_æøå服务器B上的结果(php5.2.5,服务器Api:CGI/FastCGI):123_有人知道为什么会出现这种差异吗? 最佳答案 这一定是因为区域设置PHP多字节字符串支持开/关PHPmb_string.func_overload(为多字节支持

php - 如何将此 PHP RegEx 匹配模式转换为 .Net

这是一个非常复杂的正则表达式,它从专有数据字符串返回键/值对数组。这是数据示例,以防express不能在.Net中使用,需要使用其他方法。0,"101"1,"12345"11,"ABCCompany"12,"JohnDoe"13,"123MainSt"14,""15,"Malvern"16,"PA"17,"19355"19,"UPS"21,"10"22,"GND"23,""24,"082310"25,""26,"0.00"29,"1Z1235550300000645"30,"PA1939-05"34,"6.55"37,"6.55"38,"8.05"65,"1Z1235550300000

php - 如何使用 preg_replace 获取替换文本?

我在PHP中使用preg_replace函数,并尝试用bit.ly缩短的链接替换用户提交的url:$comment=preg_replace('/(http|ftp)+(s)?:(\/\/)((\w|\.)+)(\/)?(\S+)?/i','',$strText);这将只显示评论并“清除”url。问题是如何从文本中获取URL并稍后附加它? 最佳答案 preg_replace_callback()来自php.net的示例:定义一个回调函数来替换URL。它将接收匹配项作为参数,并在内部根据这些匹配项形成一个替换字符串。

php - 正则表达式帮助 : how to match only either pattern in a regex that contains "or" operator?

我正在使用php的preg_replace().基本上我有2种可能的字符串匹配:你好现实世界问候这是我希望完成的:HelloRealWorldGreetings规则解释:如果字符串包含空格,插入在第一个空格字符之后。如果字符串不包含空格(一个单词),则插入就在字符串的中间(+/-如果奇数字符计数)。到目前为止,我已经想出了一个长期有效的解决方案:",$str,1):preg_replace("/.{".round(strlen($str)/2)."}/","$0",$str,1);?>但是,我相信它可以通过一个更短、更优雅的正则表达式来完成,只有一个preg_replace()。打电话