如何在preg_replace中用c(xxx)替换c(xxx)?在下面的代码中,我想将strc(xxx)替换为functiounc(xxx)。我没有得到我想要的正确结果。我的代码有什么问题?以及如何解决?$c['GOOD']='verygood';$c['BOY']='jimmy';functionc($x){global$c;if(isset($c[$x])){return$c[$x];}}$str="helloc(GOOD)worldc(BOY)";$str=preg_replace("@c\(([A-Z_\d]+)\)@",c('$1'),$str);echo$str;//-->
我正在开发一个简单的SQL调试器,它将接受参数化变量并尝试相应地替换它们,这样如果一条SQL有问题,那么我可以将它直接复制并粘贴到我的RDBMS中以处理查询,并希望如此更快地调试问题。到目前为止,我基本上已经有了这个,但是它替换了太多:导致select*fromtable_namewherecommentlike'%thatisanice'monkeyzeus@example.com'butthisone%'andemail='monkeyzeus@example.com'andstatus='active'请注意,位置1的'monkeyzeus@example.com'正在从位置0进
我正在应用以下功能效果很好,但如果我将ã添加到preg_replace中,比如$new_string=preg_replace("/[^a-zA-Z0-9\sçéèêëñòóôõöàáâãäåìíîïùúûüýÿ]/","",$string);$string="Thisissometextandnumbers12345andsymbols!£%^#&$andforeignletterséèêëñòóôõöàáâäåìíîïùúûüýÿã";它与英镑符号£冲突,将英镑符号替换为黑色方block中未识别的问号。这并不重要,但有人知道这是为什么吗?谢谢,巴里更新:谢谢大家。更改函数添加u修饰
我有这样一个字符串:http://mysite.com/script.php?fruit=apple我有一个这样的关联数组:$fruitArray["apple"]="green";$fruitArray["banana"]="yellow";我正在尝试在字符串上使用preg_replace,使用数组中的键来反向引用apple并将其替换为绿色,如下所示:$string=preg_replace('|http://mysite.com/script.php\?fruit=([a-zA-Z0-9_-]*)|','http://mysite.com/'.$fruitArray[$1].'/'
我只想知道在php中,strpos()/stripos()或preg_match()函数中哪一个会更快。 最佳答案 我找到了thisblog已经对你的问题做了一些测试,结果是:strpos()比preg_match()快3-16倍stripos()比strpos()慢2-30倍stripos()比preg_match()快20-100%无大小写修饰符“//i”在preg_match()中使用正则表达式并不比使用正则表达式快长字符串在preg_match()中使用utf8修饰符“//u”使其慢2倍使用的代码是:
我已经搜索了几个小时,试图找到解决这个问题的方法。我正在尝试确定REQUESTURI是否合法并从那里分解它。$samplerequesturi="/variable/12345678910";判断是否合法,第一段variable只有字母,长度可变。第二部分是数字,总共应该有11个。我的问题是转义正斜杠,以便它在uri中匹配。我试过:preg_match("/^[\/]{1}[a-z][\/]{1}[0-9]{11}+$/",$samplerequesturi)preg_match("/^[\\/]{1}[a-z][\\/]{1}[0-9]{11}+$/",$samplerequestu
我有这样的html:Tagged:sports,entertain,funny,comedy,automobile,moretags.如何将运动、娱乐、搞笑、喜剧、汽车提取到字符串中我的phppreg_match_all看起来像这样:preg_match_all('/(.*?),/',$this->page,$matches);echovar_dump($matches);echoimplode('',$tags);它不起作用。 最佳答案 我不确定您是如何从中获取$this->page的,但是以下内容应该会如您所料:http://i
我怎样才能一个一个地拆分字符串但忽略转义字符?在我的例子中,我有字符串:-\ntest\rtest\n我希望它是这样的:-Array([0]=>\n[1]=>t[2]=>e[3]=>s[4]=>t[5]=>\r[6]=>t[7]=>e[8]=>s[9]=>t[10]=>\n)有人说用preg_split,但我对正则表达式了解不多。 最佳答案 反斜杠需要在RegEx中转义。当引用一个实际的反斜杠时,你需要一系列的三个\\\正则表达式匹配preg_match_all("/\\\?[^\\\]/",$str,$matches);现场演示代
我有这样的正则表达式:^page/(?P\d+)-(?P[^\.]+)\.html$和一个数组:$args=array('id'=>5,'slug'=>'my-first-article');我想要一个函数:my_function($regex,$args)这将返回这个结果:page/5-my-first-article.html如何实现?类似于https://docs.djangoproject.com/en/dev/ref/urlresolvers/#reverse 最佳答案 有趣的挑战,我编写了一些适用于此示例的代码,请注意您
这是我的字符串:stringa/stringb/123456789,abc,cde在preg_match之后:preg_match('/(?输出是:stringb/123456789如何更改我的preg_match以在第二个斜线(或最后一个斜线之后)后提取字符串?期望的输出:123456789 最佳答案 您可以将/以外的任何内容匹配为/(?[^\/,]*否定字符类匹配除,或\以外的任何字符RegexDemo示例preg_match('/(?123456789 关于php-preg_mat