2011-09-15 3 views
1

私はこの正規表現で助けが必要です、私はそれをPHPで使用する必要がありますが、preg_matchと共に使用している間はエラーが続きます。私は何か間違っていることを知っているが、私はそれを理解することはできない。この正規表現は、文字列内のhtmlタグを検索/一致させます。あなたがこれを行うことができる他の正規表現を持っているなら、私に教えてください!PHPで動作する必要がある正規表現の助けが必要

</?(a|abbr|acronym|address|applet|area|b|base|basefont|bdo|big|blockquote|body|br|button|caption|center|cite|code|col|colgroup|dd|del|dir|div|dfn|dl|dt|em|fieldset|font|form|frame|frameset|h[1-6]|head|hr|html|i|iframe|img|input|ins|isindex|kbd|label|legend|li|link|map|menu|meta|noframes|noscript|object|ol|optgroup|option|p|param|pre|q|s|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|ul|var|xmp)\b((\"[^\"]*\"|\'[^\']*\')*|[^\"\'>])*> 

     if (!preg_match("/</?(a|abbr|acronym|address|applet|area|b|base|basefont|bdo|big|blockquote|body|br|button|caption|center|cite|code|col|colgroup|dd|del|dir|div|dfn|dl|dt|em|fieldset|font|form|frame|frameset|h[1-6]|head|hr|html|i|iframe|img|input|ins|isindex|kbd|label|legend|li|link|map|menu|meta|noframes|noscript|object|ol|optgroup|option|p|param|pre|q|s|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|ul|var|xmp)\b((\"[^\"]*\"|\'[^\']*\')*|[^\"\'>])*>/", $input) && preg_match("/^.{2,$max_width}$/i", $input)) { 
      $result = true; 
     } 

ありがとう!

+2

詳細については、http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tagsをご覧ください。 – Tesserex

+0

この正規表現は何をする予定ですか? –

+1

ようこそStackOverflowへ。質問をするときに、**エラー**メッセージが表示されずに「エラーが発生しています」というメッセージが表示されるのは意味がありません。だから、 "これが何をするべきか"を説明せずに "私はこれで助けが必要"と言っている。 "文字列内のhtmlタグを見つけて一致させる"とはあまり言わない。あなたの投稿を編集して実際に回答できる質問にしてください。そうしないと、おそらく閉鎖されます。そうする際には、あなたがあなたの質問に入れていることを除いて、あなたが何をしようとしているのか(または何か他のもの)がわからないことを忘れないでください。ありがとう。 :) –

答えて

2

あなたの正規表現は/</?(a|abbr|ac...で始まります。区切り文字(正規表現の開始と終了を示します)はスラッシュです。 <の後に2番目のスラッシュがあると、正規表現は終了したと考えられます。

/<\/?(a|abbr|acに変更してください(スラッシュをバックスラッシュでエスケープしてください)。

+0

ありがとうジョー。それはうまくいった。 – Mathiew

関連する問題