よろしくお願い致します。
-------------
引用元:http://aaa、http://bbb、http://ccc
-------------
という文字列がある場合
-------------
引用元:<a href="http://aaa" target="_blank">タイトルaaa</a>、<a href="http://bbb" target="_blank">タイトルbbb</a>、<a href="http://ccc" target="_blank">タイトルccc</a>
-------------
に置き換える方法を考えています。
-------------
<?php
// 対象文字列
$text = '引用元:http://aaa、http://bbb、http://ccc';
// パターン
$pattern = '/((?:https?|ftp):\/\/[-_.!~*\'()a-zA-Z0-9;\/?:@&=+$,%#]+)/u';
// 置換後の文字列
$replacement = '<a href="\1">\1</a>';
// 置換
$text= preg_replace($pattern,$replacement,$text);
// 出力
echo $text;
?>
-------------
で
-------------
引用元:<a href="http://aaa" target="_blank">http://aaa</a>、<a href="http://bbb" target="_blank">http://bbb</a>、<a href="http://ccc" target="_blank">http://ccc</a>
-------------
までは行けたのですが、タイトルを取得する方法が分かりません。
http://otapps.net/archives/305
こちらを参考に考えたのですが、先に進めずにいます。
分かる方がいらっしゃいましたら、ご教示ください。
よろしくお願い致します。
No.3ベストアンサー
- 回答日時:
作ってみました。
先ほどの回答で提示したローレベルな処理を実装しています。Qiita - 文字列中に存在するURLのタイトルを取得して自動リンクする
http://qiita.com/mpyw/items/e0524f199f6e357b780e
No.2
- 回答日時:
正規表現はこれをご利用ください。
Qiita - 「RFC3986定義の厳密なHTTP URIの正規表現」をPHP用に最適化
http://qiita.com/mpyw/items/1e422848030fcde0f29a
タイトルを全部取得させるとなるとかなり負荷がかかりそうですね…せめて並列処理にしないと…<title>タグの部分を取得したらそれ以降は無視するなどのローレベルな処理が必要になってくるかもです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ¥マークを含むパスの処理について(マクロ、または関数) 2 2022/12/25 02:11
- Perl perl このテキストファイルを簡単に配列に入れるには? 2 2022/04/27 20:24
- SQL Server ACCESSで3ファイルを結合して、表を作成するやり方を教えて下さい。 17 2022/08/15 20:34
- その他(データベース) カラム上の重複を削除するクエリを教えてください 3 2022/04/12 14:11
- SQL Server ACCESSで複数テーブルを結合して、リストを作る方法を教えてください。 2 2022/08/12 19:32
- その他(プログラミング・Web制作) pythonのWebスクレイピングでfind_allだとurlがNoneに 4 2022/04/17 18:21
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- HTML・CSS HTML & CSS 縦ボックス内の文字の左右センタリング 3 2023/03/25 04:23
- Visual Basic(VBA) 【VBA】特定の文字で改行(次の行)に行きたい。 3 2022/04/11 17:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【PHP】preg_replace() で正...
-
ヒットする初回のみ置換する方法
-
c# string型の変数に、ダブルク...
-
VBSで"をエスケープする文字は?
-
ダブルコーテーション(
-
VBAのコマンドボタンの文字列の...
-
テキストファイルから改行コー...
-
C++で空Enterの入力を判...
-
csobjというタグについて
-
LaTeX: captionの中で改行した...
-
VC++ マルチバイト文字とUniCod...
-
JAVA System.out.println の ...
-
fgetsとsscanf
-
エスケープ文字の復帰(¥r)と...
-
VBAでCSVをExcelに取り込む時に...
-
VB.net テキストボックス半角文...
-
VB6でブラウザのページソースを...
-
C++のctime関数復帰値の改行
-
正規表現での英字+ハイフンの...
-
エクセルのCOUNTIFが正しくカウ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ダブルコーテーション(
-
VBSで"をエスケープする文字は?
-
PHP・Wordpress preg_replaceを...
-
文字列の置換をCStringで(C++)
-
○分から○時間○分に変換
-
文字列の括弧について(初心者)
-
近似した文字列を置換するエク...
-
PHPの¥
-
ダブルクォーテーションが置換...
-
php 正規表現で、\\マークを取...
-
(から)までの文字列を削除したい
-
文字列のアスタリスク置換
-
htmlspecialchars関数でエスケ...
-
nl2brが効かないのですが・・・
-
PHPでCSVを出力する際のセルに...
-
c# string型の変数に、ダブルク...
-
正規表現で<BR>の行を除外した...
-
ダブル、シングルクォーテーシ...
-
空白文字のカンマへの変換について
-
【PHP】preg_replace() で正...
おすすめ情報