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
  • 6,821
  • 12
  • 36
  • 46

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,388
  • 20
  • 29
2

You have to escape the backslash.

/<ul>|<\/ul>/

Byron Whitlock
  • 51,185
  • 28
  • 118
  • 166