regexp(および/またはphp)だけで、特定のパターンの外にあり、特定の他のパターン内にある特定のパターン(PHPの場合は再帰的な意味では? ?要素の属性空間内ではなく、表示可能なHTML内で{Tags}をどのように一致させることができますか?
アイデアは、表示されているhtmlテキストの1行に> {ThisSpace} <で、< {ThisSpace}内ではないタグと一致させたいと考えています。
、1行のテキストの例は
<div {IgnoreThis} id="{AndIgnoreThisOne}">I want to be able to only get {TheBracketTagsWithin} the visible html areas, excluding title and textarea and any html tag similar to those tags </div {AlsoIgnoreThese}>
次の半分のHTMLタグミックスコンボである私は、このために私自身の正規表現を作ってみました、しかし..私はPHPのコンボを使用することができます失敗してきた&正規表現が、ここでは...
を何かが足りないか、ここで何かを理解していないが、私は正規表現
(?<!\<\!--|\{|\<){([a-zA-Z0-9]*?)}(?!--\>|\}|\>)
のためにしようとしています。これは、トンを無視するどのような作品です彼は次の文字があるために、divの最後にも{また、鈍化しています}、この正規表現を見つけられるまで見えるように修正することはできません。
これはDOMパーサを必要とする別の問題かもしれないことに気づいていますが、私は知っています... "あなたはHTMLのDOM解析をRegExp、Newbで行います!"質問はどうすればの{タグ}に一致する文字や文字の位置などを表示することができますか?そしてDOMパースがなければ、エラーが出ているか、壊れたHTMLのために私に何の応答も与えないのですか?
私が正しい方向に向いているとはいえ、どんな助けにもなります。
ありがとうございます!
-EDIT-
私は言及を忘れてしまった何か、これはHTMLの一行であることから、常に(それが将来のライン上にあってもよい)htmlタグの終了がないこともあり、逆の場合には必ずしも開始タグと終了タグの両方が存在するとは限りません。開始タグも終了タグも持たない行については、「htmlスペース内にある」または「属性スペース内にある」というアカウントを持つソリューションが既に用意されているので、htmlの開始タグまたは終了タグのない行{BracketTag}もキャプチャする必要があります。
私は
これは、より多くの答え – Gordon
謝罪よりもコメントのように感じるが、私が見るものとPHPに変換する必要があります – Elenchus
ああ、どうやら私は50担当者 – Elenchus