スレッド表示 | フラット表示〕 全トピック 920 件中 28 番目 次≫ ≪前

正規表現のページ

created: 2008-11-23 12:46 | modified: 2009-04-21 16:47 | reply: 6

[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を抽出しようとするなら、ダブルクォーテーションが
無い場合を想定しておくのは必要なことです。
Parent: 4276  reply: 4278 返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 28 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑