如何从字符串中删除所有正则表达式特殊字符?
例如:我想要“/^bla\/bla\/bla\//i
”:“bla/bla/bla/
”
我想这在我想到的背景下确实不可能。感谢您的回复
答案 0 :(得分:1)
我不确定这是否能解答您的问题,但您是否正在寻找preg_quote(http://us.php.net/manual/en/function.preg-quote.php)函数?
答案 1 :(得分:0)
我并不完全明白你要做什么,但如果你只是想从字符串中删除某些字符,最好使用strtr()
。一方面,它比
编辑:其实我真的不明白你想要实现的目标。
答案 2 :(得分:0)
<?php
$string = "/^bla\/bla\/bla\//i";
$patterns = array(
"/\/\^([\w]+)/i" => "$1/",
"/[\/]{2,}i$/i" => "/",
"/\\\/" => "",
"/[\/]{2,}/" => "/",
"/\/$/" => "",
);
echo preg_replace(array_keys($patterns),$patterns,$string);
//OR, this:
echo "\n";
$string = "/^bla\/bla\/bla\//i";
$pattern = "/(?![\/\w]$)([\w]+)/";
preg_match_all($pattern,$string,$matches);
echo join('/',$matches[0]);
?>