php
  • regex
  • preg-match
  • 2011-07-30 7 views -4 likes 
    -4
    preg_match("/<img onClick='this\.style\.maxWidth=\"490px\"; this\.style\.maxHeight=\"490px\"; 
    this\.style\.cursor=\"default\";' style='cursor: pointer; display: block; float: left; max-width: 
    490px; max-height: 160px;' src='(.)+'><br style='clear: left;'>/",$CONTENT,$MATCHES); 
    print_r($MATCHES); 
    

    なぜ画像ソースを取得できないのですか?PREG_MATCH問題

    +3

    wow。最初にHTMLからCSSとJSを分けて、正規表現について話しましょう... – Dor

    +0

    私の質問には答えてくれません... btw私は(+) ..... –

    +0

    このような不明な質問を書こうとしてくれてありがとう...人々はあなたが知っていることを読む必要があります。私はダウン者ではない。 – Dor

    答えて

    4

    は、あなたがその多くのものをスキップしてちょうどコメントは手に負えなくなる前に

    preg_match("/<img.*?src='([^']*)'/i", $content, $matches); 
    

    $matches[1]はSRCのURL

    (だろうと言うことができsrc='(.+)'代わりのsrc='(.)+'

    +0

    私はこのlolを投稿した直後に考え出しました –

    +1

    とにかく正しい答え! ;-) –

    +0

    本当の人間lol –

    2

    を書いて考えてみましょうこれは元のパターンを元にしていますが、元のパターンも同じではないので、二重引用符で囲まれた属性と一致しません。また、一般的な解決策でもありません。 Dのimgタグ、およびそれはそれだ)

    それ以外は

    • インラインCSS!
    • インラインイベントハンドラ
    • シングルクォート属性 おっと!それについて間違っている!申し訳ありません

    これはいいですね!

    +0

    これはこのケースではうまくいくかもしれませんが、一般的には有用ではありません/正しい正規表現パターンです。 – Dor

    +0

    @Dor:詳細を教えてください。私は、はい、htmlはかなり悪いですが、パターンに何が問題なのですか? – Flambino

    +1

    件名に2つ以上の 'img'タグが含まれている場合、あなたの古い正規表現(編集前)は最新の' img'タグの 'src'属性と一致する可能性があります。さて、正規表現を編集した後、 'this.src = 'val''のようなものがjavascript(おそらくOnClickイベント値)に書かれていると、パターンは' src'プロパティの値と一致するかもしれません – Dor

    関連する問題