2011-11-13 11 views
-1
を使用してiframeのリンクを指定

問題:私はインラインフレームを確認する必要が
は、正規表現

次の形式のリンクのいずれかのタイプがあります。

http://www.example.com/embed/*****11 CHARACTERS MAX.****?rel=0 

Starts with: http://www.example.com/embed/ 
Ends with: ?rel=0 
11 CHARACTERS MAX. means in this spot, there can any 11 characters. Don't go beyond 11. 

注:指定のどれをタグはすべての投稿に含まれることが保証されています。ユーザーがエディタをどのように使用するかによって異なります。 、すべての

$rtxt_offer = preg_replace('#<(?!/?(u|br|iframe)\b)[^>]+>#', '', $rtxt_offer); 
+0

ご覧ください:[PHPのHTMLからすべてのtextおよびimgタグを抽出する](http://stackoverflow.com/q/8021543/367456)(閉鎖) – hakre

+0

[PHPでHTMLを解析するための最良の方法](http://stackoverflow.com/questions/3577641/best-methods-to-parse-html-with-php)の可能な複製 - 主な点:正規表現を使用しないことを検討するHTMLを解析する – hakre

+0

私のタイトルを修正するのを忘れました。 – user311509

答えて

0

コーディング:

$doesMatch = preg_match('~^http://www.example.com/embed/[^?]{0,11}\?rel=0$~', $link); 

これはあなたが求めているものを特にありません。

タグを削除するには、strip_tagsを参照するか、HTMLパーサーを使用してください。リンクパーツをより適切に取得するのにも役立ちます。

同様の質問/回答で、strip_tagsSimpleXMLElementを一緒に使用する方法のコード例をいくつか掲載しました。Extract all the text and img tags from HTML in PHP

0

まずそこ組み込み関数れる:

私はすべてのタグを指定したものを除いて、除外されていることを確認するには、以下の行を使用PHP


を使用していますあなたのためのタグを取り除くPHPで:http://php.net/manual/en/function.strip-tags.phpここでは遅い正規表現を使用する必要はありません。あなたはあなたの問題を解決する必要があります

ステップ:

  1. 解析このテキストDomDocument
  2. としてIFRAMEからsrc属性を取得し、今parse_url
  3. とそれを解析し、それから
  4. iframeノードを取得します。 parse_url
によって返されたすべてのコンポーネントを簡単にチェックできます

ハッピーはあなたが唯一の正規表現でリンク値を検証したい書いた