php
1$text="<abcabc>abcabcaaa<abcaaabc>aabc<abcaaa>";
のような文字列があるとします。
<>に囲まれている部分のみ、aを削除したいのですが、どうしたらいいでしょう。
PHPのpreg_replaceと正規表現を用いて色々と試してみましたが、うまく行きません。
PHP
1$text="<abcabc>abcabcaaa<abcaaabc>aabc<abcaaa>"; 2echo "$text\n"; 3while (preg_match("/(<.*?)a(.*?>)/", $text)) { 4 $text = preg_replace("/(<.*?)(a)(.*?>)/", "$1$3", $text); 5} 6echo $text;
上のように、<>内にあるaを最短マッチで一つずつ削除して、なくなるまでループを回すようにしてみたのですが、<>内のaがなくなると、文字列の最初と最後の<>にパターンが一致して、結局<>の外部のaも削除されてしまいます。
なにか、いい方法はありませんか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/22 01:12