我正在努力实现以下目标:
$subject = 'string://example.com/';
$search1 = ':';
$search2 = '/';
$replace = '_';
期望的输出:
$string = string_example1.com_example.com_;
有没有办法用preg_replace来实现这个目标?
$string = preg_replace(':', $replace, array($subject));
我知道这是不正确的,但我需要删除斜杠和冒号并用下划线替换,无论它们在哪里,只用下划线替换它
由于
答案 0 :(得分:1)
我认为str_replace
会更方便,如果您尝试替换特定字符,str_ireplace
代表字符数组
修改
示例:
$subject= str_ireplace(array(':','/'),'_', $subject);
我认为会那样。
答案 1 :(得分:1)
INPUT:
$subject = 'string://example.com/';
$string = str_replace('___', '_', preg_replace('/[:\/]/', '_', $subject));
输出:
string_example.com_
希望这有助于
答案 2 :(得分:0)
试试这个。在您的模式中使用分隔符:
preg_replace('/(:\/\/|/\{1})/', '_', $subject);
答案 3 :(得分:0)
那是做什么的:
$subject = 'string://example.com/';
$string = preg_replace('~://|/~', '_', $subject);
echo $string,"\n";
<强>输出:强>
string_example.com_