preg_replace を使用して次のことが可能かどうかを判断しようとしています。可能であれば、コメント付きの例を示して、それから学びます。
次のようなhtmlコードがあります。
<ul class="sub-menu">
<li id="menu-item-99" class="menu-item"><a href="/clients-login-english/">Login**</a></li>
<li id="menu-item-100" class="menu-item"><a href="/clients-create-account-english/">Create Account%%</a></li>
</ul>
私がやりたいのは、「コード」の位置、この場合は「* *」または「%%」を見つけて、前の < li で始まり次の < /li > で終わるテキストを削除することです。したがって、これに preg_replace を使用して「**」を探している場合、次のようになります。
<ul class="sub-menu">
<li id="menu-item-100" class="menu-item"><a href="/clients-create-account-english/">Create Account%%</a></li>
</ul>
私の最初の考えは、ブルートフォースアプローチを使用し、stripos を使用して「**」を見つけ、そこから逆方向にループして < li を見つけ、その後に < /li > を探して、このセクションを除いた文字列を再構築することですが、もっと簡単な方法が必要なようです。