我对正则表达式完全没用,任何建议都非常感激.
$url = 'http://somedomain.com?var=<##var##>&var2=<##var2##>';
echo preg_replace('^<##(.*)##>$', '', $url);
Run Code Online (Sandbox Code Playgroud)
试图去除(和包括)<##和##>之间的任何东西.所以我的结果是:
http://somedomain.com?var=&var2=
Run Code Online (Sandbox Code Playgroud)
谢谢
代码应该是:
<?php
$url = 'http://somedomain.com?var=<##var##>&var2=<##var2##>';
$newUrl = preg_replace('/<##.*?##>/', '', $url);
echo $url;
?>
Run Code Online (Sandbox Code Playgroud)
该^和$你使用的是错误的,他们represend的开头或字符串的结尾,你会不会只替换<##...##>如果部分<##是在开始和##>在字符串的结尾.
另外,?后.*意味着它匹配一切从<##直到下一个##>.如果你使用.*它匹配从第一个<##到最后一个的所有内容,##>那么结果将是http://somedomain.com?var=