正規表現のページ
created: 2008-11-23 12:46 | modified: 2009-04-21 16:47 | reply: 6
[4256] 正規表現のページ - たける - 2008-11-23 12:46- [4257] 正規表現のページを訂正 - ゆうじ - 2008-11-23 16:40
- [4276] 正規表現のURL - 月守 - 2009-04-06 15:21
- [4277] URLを抽出して・・・ - ゆうじ - 2009-04-07 19:24
- [4278] 月守 - 月守 - 2009-04-07 22:32
- [4279] HTMLタグ一般へ拡張 - ach - 2009-04-20 09:12
- [4283] Re. HTMLタグ一般へ拡張 - ゆうじ - 2009-04-21 16:47
[4277] URLを抽出して・・・
user: ゆうじ | created: 2009-04-07 19:24
こんばんわ。
このページ↓の「タグ」のところを
http://www.sound-uz.jp/php/note/regx
ダブルクォーテーションの有無に関係なく
アンカーからURLを抽出するパターンを書いて見ました。
ダブルクォーテーションが
片方だけの場合も通ってしまいますがお許しを。
$pattern = '/<a href="?([^"\s]+).*?>(.+?)<\/a>/is';
月守さんのとちょっと違うのは抽出しようとしてるところ。
このパターンで preg_match_all() にかければ
後々リンクチェッカーとかサイト内のSEO対策などに
使えるのはないかと思います。
目的が違えば正規表現も違ってくる一例です。
今後とも宜しくお願いします。
---
月守さんはお解かりだと思いますので
他の方向けに誤解の無い様補足しておきます。
属性の値を囲むダブルクォーテーションは
xmlやxhtmlでは省略できません。
ブラウザで見るかぎり問題無いよう見えるのは
あくまでもイレギュラーに対するブラウザの対処法です。
他のアプリケーション(DOM等)から利用出来なかったり
プログラムを複雑にし保守しづらくなるので
ウェブアプリを作る立場の人間としては
省略しない方向で考えるべきです。
アンカータグではありませんがこんな例もあります。
[2908]メール送信で改行以下が消える
http://www.sound-uz.jp/php/bbs/thread/2908?view=flat
もちろん、未知のウェブページのアンカーから
URLを抽出しようとするなら、ダブルクォーテーションが
無い場合を想定しておくのは必要なことです。
このページ↓の「タグ」のところを
http://www.sound-uz.jp/php/note/regx
ダブルクォーテーションの有無に関係なく
アンカーからURLを抽出するパターンを書いて見ました。
ダブルクォーテーションが
片方だけの場合も通ってしまいますがお許しを。
$pattern = '/<a href="?([^"\s]+).*?>(.+?)<\/a>/is';
月守さんのとちょっと違うのは抽出しようとしてるところ。
このパターンで preg_match_all() にかければ
後々リンクチェッカーとかサイト内のSEO対策などに
使えるのはないかと思います。
目的が違えば正規表現も違ってくる一例です。
今後とも宜しくお願いします。
---
月守さんはお解かりだと思いますので
他の方向けに誤解の無い様補足しておきます。
属性の値を囲むダブルクォーテーションは
xmlやxhtmlでは省略できません。
ブラウザで見るかぎり問題無いよう見えるのは
あくまでもイレギュラーに対するブラウザの対処法です。
他のアプリケーション(DOM等)から利用出来なかったり
プログラムを複雑にし保守しづらくなるので
ウェブアプリを作る立場の人間としては
省略しない方向で考えるべきです。
アンカータグではありませんがこんな例もあります。
[2908]メール送信で改行以下が消える
http://www.sound-uz.jp/php/bbs/thread/2908?view=flat
もちろん、未知のウェブページのアンカーから
URLを抽出しようとするなら、ダブルクォーテーションが
無い場合を想定しておくのは必要なことです。
