Regexを使用してiframeリンクを指定する

Problem:

iframeに次の形式のリンクが1つあることを確認する必要があります。

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.

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

私はPHPを使用しています


以下の行を使用して、指定したタグを除いてすべてのタグが除外されていることを確認しました。

$rtxt_offer = preg_replace('#<(?!/?(u|br|iframe)b)[^>]+>#', '', $rtxt_offer);
ベストアンサー

あなたは、正規表現でリンクの値を検証するだけと書いています:

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

これは具体的にあなたが求めていることです。

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

同様の質問/回答で、 strip_tags
SimpleXMLElement を一緒に使用する方法のサンプルコードを掲載しました: PHPのHTMLからすべてのtextおよびimgタグを抽出します。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です