phpでの正規表現の書き方と対処法

WBOY
リリース: 2016-06-13 12:16:46
オリジナル
985 人が閲覧しました

php での正規表現の書き方
原文には次の可能性があります:
[font="microsoft yahei" onclick="alert('b')"]中華人民共和国[/font]
[font= "abc" onclick="alert('b')"]中華人民共和国[/font]
[font="microsoft yahei"]中華人民共和国[/font]
[font= abc onclick="alert ('b')"]中華人民共和国[/font]
[font=abc]中華人民共和国[/font]

このように捉えたいと思います。 font=以降の文字だけを取り出していますが、onclick以降の文字(必ずしもonclickである必要はなく、onfocusなどでも構いません)を除くと、「中華人民共和国」という文字もあります。
フォント名のみが取り出されるという意味ですが、フォント名には引用符を含めることができますが、フォントの後ろに文字がある場合は取り出されません。

正規表現の書き方を見つけてください。
このように書くとonclickと以下の文字が得られます。
/[font=(.*?)](.*?)[/font]/i
-----ソリューションのアイデア----------- ----------
/[font="([^"] ?)". ?](.*?)[/font]/i
試してみる
------解決策----------------------
echo preg_replace('/[font="( [^ "] ?)".*?](.*?)[/font]/i', '$1@@@@$2', '[font="microsoft yahei"]中華人民共和国[/font]' ) ;
------解決策のアイデア----------------------
[^"]
[] の内側は一連の文字
^ ですが、
は二重引用符以外の他の文字が一致することを意味します。実際には、
--- - する必要はありません。 ------------------------------------------------- - -------------------------
[font=microsoft]中華人民共和国[/font]
'/[font ="*([^"] )"*.*?](.*?)[/font]/i'

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート