正規表現について
HTMLファイルを読み込み、特定の文字列にリンクを付けて出力したいのですが上手くいきません。
例: <img src="./seiki_hyougen.gif" alt="正規表現についての説明">更に正規表現を知りたい方は、<a href="special.html">正規表現の詳しい説明</a>をクリックして下さい。
↓正規表現をキーワードにしてリンクを付けたい。
正:<img src="./seiki_hyougen.gif" alt="正規表現についての説明">更に<a href="seiki_hyougen.html">正規表現</a>を知りたい方は、<a href="special.html">正規表現の詳しい説明</a>をクリックして下さい。
誤:<img src="./seiki_hyougen.gif" alt="<a href="seiki_hyougen.html">正規表現</a>についての説明">更に<a href="seiki_hyougen.html">正規表現</a>を知りたい方は、<a href="special.html"><a href="seiki_hyougen.html">正規表現</a>の詳しい説明</a>をクリックして下さい。
尚、下記URLのサンプルを参考にしてスクリプトを作成しています。
http://php.oss.eznetsols.org/manual/ja/function.preg-split.php
$r = preg_split('((\/a>)|(<a))', $html, -1, PREG_SPLIT_DELIM_CAPTURE);
for ($i = 0; $i < count($r); $i++) {
if ($r[$i] == "<a") {
$i++; continue;
}
$r[$i] = preg_replace(
"/(正規表現)/i", "<a href='seiki_hyougen.html'>\\1</a>", $r[$i]
);
}
return join("", $r);
この(正規表現)の部分で上手い正規表現を使えばalt="×××"の中にリンクタグが入らないようにできるのでは?と思っているのですが・・・。
どうか、良い方法を教えて下さい。よろしくお願いいたします。
補足
ありがとうございます。 エディタは少し特殊なのですが、Dreamweaver4です。マクロメディアのHTMLエディタとして有名なものです。 また、拡張子がhtmlに限らず、動的なものも含まれるので、"http://...../../.."のようにクォーテーションで囲まれた部分を正規表現したいのです。 宜しくお願い致します。