So i’m going to reverse your code process and guess that the original code from the wordpress function was
<li id="menu-item-32" class="features-nav menu-item menu-item-type-post_type menu-item-object-page menu-item-32"><a href="http:/www.siteaddress.co.uk">Features</a></li>
Which means the str_replace function did exactly what you told it to do.
Step 1: Replace “><a
” with “”.
<li id="menu-item-32" class="features-nav menu-item menu-item-type-post_type menu-item-object-page menu-item-32" href="http:/www.siteaddress.co.uk">Features</a></li>
Step 2: Replace “li” with “a”.
<a id="menu-item-32" class="features-nav menu-item menu-item-type-post_type menu-item-object-page menu-item-32" href="http:/www.siteaddress.co.uk">Features</a></a>
What are you missing? Your code didn’t add an extra close tag, you simply didn’t tell it to remove the one that already existed before you began.