草庐IT

php - 如何识别重复分隔符之间的标记?

我正在尝试解析两侧由@分隔标记的模板。示例输入:Hello,@name@!Pleasecontactadmin@example.com,dear@name@!期望的输出:Hello,Peter!Pleasecontactadmin@example.com,dearPeter!寻找匹配项并替换的天真的尝试:$content='Hello,@name@!Pleasecontactadmin@example.com,dear@name@!';preg_replace_callback('/(@.*@)/U',function($token){if('@name@'==$token)//rep

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 - 解析 youtube 链接 PHP

34|http://v19.lscache8.c.youtube.com/videoplayback?ip=0.0.0.0&sparams=id,expire,ip,ipbits,itag,algorithm,burst,factor,oc:U0dWRlZUVF9FSkNNNl9OTlhF&fexp=902210&algorithm=throttle-factor&itag=34&ipbits=0&burst=40&sver=3&expire=1271696400&key=yt1&signature=583C4A85FA65B6B9782B8B4B5E1F1C08D9EADCA3.5B

用于 url 验证的 PHP 正则表达式,filter_var 过于宽松

首先让我们根据我的要求定义一个“URL”。唯一允许的可选协议(protocol)是http://和https://然后是强制性域名,例如stackoverflow.com然后可选择其余的url组件(path、query、hash、...)根据我的要求引用有效和无效网址的列表有效stackoverflow.comstackoverflow.com/questions/askhttps://stackoverflow.com/questions/askhttp://www.amazon.com/Computers-Internet-Books/b/ref=bhp_bb0309A_comin

php - 南非手机号码格式

我仍在尝试了解PHP中的preg_replace函数。如何将以下手机号码格式化为标准的27xxxxxxxxx手机号码?例如:083-123-4678应该是27831234567+278312345678应该是27831234567起始号码都必须是081,082,083,084或071,072,073,074 最佳答案 functionNumber_SA($numbers){$number=preg_replace(array('~[^0-9]~','~^27~'),'',$numbers);if(preg_match('~^(?:0

php - 如何在 php 中用空格替换所有非字母数字字符?

$html=strip_tags($html);$html=ereg_replace("[^A-Za-zäÄÜüÖö]","",$html);$words=preg_split("/[\s,]+/",$html);这不是用空格替换所有非(A-Z、a-z、aouwithumlauts)字符吗?我正在用变音符号丢失zugänglich等单词正则表达式有什么问题吗?编辑:我用preg_replace替换了ereg_replace但不知何故像:,®这样的特殊字符没有被空格替换... 最佳答案 如果您的方法成功,首先取决于编码。当所有变音符号

php - 正则表达式匹配空格但跳过部分

我明白,由于Regex本质上是无状态的,因此不借助于补充应用程序逻辑就很难实现复杂的匹配,但是我很想知道以下是否可行。匹配所有空格,很简单:\s+但是在某些定界符之间跳过空格,在我的例子中是和这个词nostrip.有什么技巧可以实现吗?我在考虑两个单独的匹配项,一个用于所有空格,一个用于blocknostrip部分,并以某种方式从前者中否定了后者。"ThisissometextNOSTRIPthisismoretextNOSTRIPsomemoretext."//becomes"ThisissometextNOSTRIPthisismoretextNOSTRIPsomemoretext

php - 使用 PHP 正则表达式删除独立数字

如何使用正则表达式在PHP中删除字符串中的独立数字?例子:"hi123"不应被修改。"hi123"应转换为"hi"。 最佳答案 使用模式\b\d+\b其中\b匹配单词边界。以下是一些测试:$tests=array('hi123','123hi','hi123','123');foreach($testsas$test){preg_match('@\b\d+\b@',$test,$match);echosprintf('"%s"->%s'."\n",$test,isset($match[0])?$match[0]:'(nomatch)

php - 正则表达式以匹配混合的阿拉伯语和数字

returnpreg_match('/^(\d*\p{Arabic}+*)$/iu',$str);我正在使用上面的函数来匹配字符串,例如:-“somewordinArabic”-“3somewordinArabic”等但我希望它也匹配以下情况:-“3somewordin444Arabic”-“somethingarabic22”所以基本上混合了阿拉伯语和数字,但至少有一个字母是阿拉伯语,有人可以帮助我吗? 最佳答案 /^[\d\p{Arabic}]*\p{Arabic}[\d\p{Arabic}]*$/ui