9

I am doing a preg_replace:

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

That will replace my <ul> with "" but Id like to replace anything that is a <ul> or </ul>, I am not getting how to use the | (or) character though.

I try like this, but it is not working right:

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

Any help would be surely appreciated

Thanks, Bryan

bryan sammon
  • 7,161
  • 15
  • 38
  • 48

2 Answers2

20

You may need to escape the slash in /ul like this:

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

or do this, not sure if it'll work:

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

(the '?' means zero or one of the previous characters, which is '/' in this case.)

Satya
  • 4,458
  • 21
  • 29
2

You have to escape the backslash.

/<ul>|<\/ul>/

Byron Whitlock
  • 52,691
  • 28
  • 123
  • 168