2011-01-20 87 views
6

我做了preg_replace:php正則表達式或|運營商

$pattern = '/<ul>/'; 
$replacement = ""; 
$string = "hello <ul> how are you doing </ul>"; 
echo preg_replace($pattern, $replacement, $string); 

,將取代我<ul>""但我還想來代替任何一個<ul></ul>,我沒有得到如何,雖然使用|(或)字符。

我嘗試這樣的,但它不工作的權利:

$pattern = '/<ul>|</ul>/'; 
$replacement = ""; 
$string = "hello <ul> how are you doing </ul>"; 
echo preg_replace($pattern, $replacement, $string); 

任何幫助,將肯定讚賞

感謝, 布萊恩

+3

http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 – 2011-01-20 04:07:45

回答

13

您可能需要逃避斜線/ ul這樣的:

$pattern = '/<ul>|<\/ul>/'; 

或做到這一點,不知道如果它會工作:

$pattern = '/<\/?ul>/'; 

(「?」的意思爲零或以前的角色,這是在這種情況下,「/」之一。)

+1

非常感謝,$圖案=「/ <\/?ul> /';工作完美 – 2011-01-20 04:10:34

1

你必須轉義反斜線。

/<ul>|<\/ul>/