0

私が持っていると言う

$content = "some text [again < dummy1>< /dummy1> some te < dummy2>< /dummy2>< /dummy3>xt] keep theses < needkeeped>xxx< needkeeped>"

すべてのタグを削除したいが、とchars< dummyx>の間にあるタグのみを削除したい[]

期待される結果は

$content = "some text [again some text] keep theses `< needkeeped>xxx< needkeeped>"`

私は試した

preg_replace('/<[^>]*>/', '', $content)

しかし、それはすべてのタグを削除しました

4

2 に答える 2

4

あなたが使用することができます

'/<[^>]*>(?=[^[\]]*\])/'

完全無欠とはほど遠いですが、それで十分かもしれません。

]文字列に before a [aheadがある場合にのみ、タグを置き換えます。

もちろん、使用方法が異なる文字列に<>[またはが含まれていないことが必要です。]

于 2013-04-18T18:42:55.273 に答える