如何從字符串中去除所有正則表達式特殊字符?PHP:我如何去除所有的正則表達式?
例如:我有「/^bla\/bla\/bla\//i
」,我想:「bla/bla/bla/
」
我想這是不是真的有可能在我想的情況下。感謝您的回覆
如何從字符串中去除所有正則表達式特殊字符?PHP:我如何去除所有的正則表達式?
例如:我有「/^bla\/bla\/bla\//i
」,我想:「bla/bla/bla/
」
我想這是不是真的有可能在我想的情況下。感謝您的回覆
我不知道這是否回答你的問題,但你也許尋找preg_quote(http://us.php.net/manual/en/function.preg-quote.php)功能?
<?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]);
?>
有些人可能不同意分裂像第一個例子那樣將正則表達式分解爲多個邏輯操作,這是一種風格選擇。儘管如此,最好的方法是我會認爲,更好地捕捉你想要的東西,而不是去替換你不想要的東西。 – 2010-02-07 13:40:35
您希望如何處理查找問題?那麼像'.'(點)這樣的元字符或者像'[abc]'這樣的字符類怎麼辦?等等請首先定義你想要處理的正則表達式的子集。 – 2010-02-07 10:39:37
這是對這個問題的重述嗎? http://stackoverflow.com/questions/2216494/php-how-do-i-convert-a-regular-expression-to-an-example-match如果是這樣,請關閉其中之一 – 2010-02-07 13:33:41
您希望如何處理括號?如果你有'/^bla \ /(bla)\/bla \ // i',你想要'bla // bla /'還是你只想括號不見了? – Anthony 2010-02-08 04:42:09