• ベストアンサー

2番目、4番目にあるリンクの文字を抽出!

$naiyou = ("あい<a href=\"aa.com\">う</a>えおか<a href=\"ff.com\">き</a>くけこさしす<a href=\"hh.com\">う</a>せそた<a href=\"ss.com\">ちつて</a>となにぬ<a href=\"gg.com\">ねの</a>はひ"); 上のような文の中から「2番目にあるリンクの文字」や「4番目にあるリンクの文字」というふうに取り出せるようにしたいのですが、どうすればいいのでしょうか。 教えてください m(_ _)m お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#57710
noname#57710
回答No.1

二通り。 preg_matchを使用 preg_match('/.*?<a href=[^>].*?>.*?<\/a>.*?<a href=[^>].*?>(.*?)<\/a>.*?<a href=[^>].*?>.*?<\/a>.*?<a href=[^>].*?>(.*?)<\/a>.*?/', $naiyou, $match); echo $match[1]; //二番目のリンク文字 echo $match[2]; //四番目のリンク文字 preg_match_allを使用 preg_match_all('/<a href=[^>].*?>(.*?)<\/a>/', $naiyou, $match); echo $match[1][1]; //二番目のリンク文字 echo $match[1][3]; //四番目のリンク文字 何番目に当たるところを変えたい場合はpreg_match_allのほう使って全部取得した後使うものだけ指定する、ってほうがいいかもしれませんね。

bavarois
質問者

お礼

preg_match_all!!! 問題が解決できました。 (◎-◎;)ありがとうございました!!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • リンクの文字の色

    リンクを張った文字の色をインラインで変えるタグに直してください。 <a href="http://www.aa.com">aa</a>

    • ベストアンサー
    • HTML
  • 正規表現による文字列の抽出

    $data = 'a b c<a href="x/y/z/hoge.jpg">hoge.jpg </a> …<A HREF = "aa/b/c/hoga.jpg">hoga.jpg</A>…'; 上記の文字列から正規表現で 『x/y/z/hoge.jpg』と『aa/b/c/hoga.jpg』を取り出して配列に格納しようと思っているのですがうまくいきません。 条件は 1.『<a href="』(大文字の場合、またはイコールの前後に半角スペースが含まれる場合もあります。)と『">』に囲まれています。 2.文字列中に何回登場するかは決まっておりません。 3.取り出す文字列の長さはきまっておりません。 以下のように書いてみたのですが…。書き方がわかりません。 どなたかご教授いただけないでしょうか。 よろしくお願いいたします。 while ($data =~ /<a\s[hH][rR][eE][fF].=.\".*?">/g){ push(@arr, $&); } foreach(@arr){print $_,"\n";}

    • ベストアンサー
    • Perl
  • 文字リンクの設定について。

    文字リンクの設定っていろいろありますが、いったいどう違うのでしょう? 例えば・・・ <a href="リンクしたいURL" target="_blank">ここだよ</a> や、 <a href="www.***.***.com">ここだよ</a> など・・・ もしかして、それぞれサイトの設定によってはできるものと、できないものが、あるんでしょうか? これだったらどこでも設定可能!というリンクの貼り方がありましたら教えていただけないでしょうか? よろしくお願いします。

  • 条件に合ったデータを抜き出す

      A   B   C   D 1 あ   AA   VV   FF 2 い   CC   FF   HH 3 あ   SS   FF   DD 4 う   SS   EE   AA 以上のようなデータが有るときに、別シートに A列のデータを条件に以下のように抜き出したいのです。 別シートの各セルに式が入っていて、上記データを 変更しても別シートの抽出結果が自動で変わるようにしたいです。 ”あ”の抽出   あ   AA   VV   FF   あ   SS   FF   DD ”い”の抽出   い   CC   FF   HH ”う”の抽出   う   SS   EE   AA

  • cssでリンクをはった文字の色が変わらない

    前任者が作ったcssのファイルを使っています。私自身はhtmlは使えるのですが、cssは慣れていません。ひとつのページでリンクを張った文字が全部同じ色になってしまいます。 たとえば一部色を変えたいと思って <font color="#ffffff"><a href="aa.html">aa</a></font> というようにhtmlで色の指定をしても色が変わってくれません。リンクを張らない文字はきちんと色が変わってくれます。 全部のコードを書くことは長すぎかつどこがcssなのかわからないのでできませんが、そのような状況が一般的におこりうるのか?どのように対処するべきなのかご存知の方がおりましたら、よろしくお願いいたします。

  • PHPでaタグ内のリンクの末尾に文字列を追加したい

    PHPでaタグ内のリンクの末尾に文字列を追加したいのですがやり方がわかず困っております。 やりたいことは以下のようなことです <a class="url" href="http://www.abc.com">○○</> や <a href="http://www.abc.com">○○</> となっているhrefのリンクの末尾に"AAA"などの文字列を付加したいです <a class="url" href="http://www.abc.com/AAA">○○</> や <a href="http://www.abc.com/AAA">○○</> ご存じの方がいらっしゃいましたらご教授ください。 よろしくお願いします

    • 締切済み
    • PHP
  • リンクをかけた文字がマウスをあてると動いてしまう

    文字にリンクをかけると、その文字にマウスをあてたら、その文字や隣の文字が改行されたように動いてしまいます。今まで経験のない現象なので、何が原因か分からなくって。アドバイスよろしくお願いします。 ページのスタイルシートへのリンクは、 <link rel="stylesheet" type="text/css" href="CSS/css1.css"> CSSというフォルダにcss1.cssを入れて読み出しています。 外部css1.cssのリンク設定は下記のような記述をしているのですが…。 a:link {color :#0000cc; text-decoration : none; } a:active {color :#000099; } a:hover { color: #ff0000; background-repeat : no-repeat; display: block; }

  • 選択による表示の可否を含めた複雑な計算表について

    下記のような計算表を作りたいのですが… AA  1  2  3  4 BB  11  12  13  14  15     ※AAのチェックによって表示され、選択可能    <例>    ・AA-1を選択するとBB-11,12のみ表示して1つのみ選択可能    ・AA-2を選択するとBB-11,12,14のみ表示して   〃    ・AA-3を選択するとBB-11~15表示して     〃 CC  テキストボックスでユーザ入力 DD  テキストボックスでユーザ入力 EE  CC×DD×<AAのチェックとBBのチェックによる数字>     <例>     ・BBの<例>と同じ条件の元で      AA-1---BB-11→15(チェックにより掛ける数字)      〃 ---〃 12→18( 〃 )      AA-2---BB-12→22( 〃 )      〃 ---〃 14→27( 〃 )      AA-3---BB-13→31( 〃 )      〃 ---〃 15→35( 〃 ) FF  Aa  Bb  Cc  Dd  Ee       ※AAとBBの条件と連動して、表示され選択可能      <例>      ・AA-1を選択するとBB-11,12のみ表示し、1つのみを選択。FF-Aaのみ表示      ・AA-2を選択するとBB-11,12,14のみ表示し、   〃  。FF-Aa,Ccのみ表示      ・AA-3を選択するとBB-11~15表示し、    〃    。FF-Bb,Ccのみ表示 GG  セレクトボックスで4割~8割から選択 HH  a  b  c  d  e  f  g      BBの選択内容とFFの選択内容によって表示(選択は1つのみ) ※ 後の計算によって数字変更     <例>      BB-11---FF-A---HH-a~c(a:3,b:6,c:10)      〃 ---〃 B---〃 a,c,f(a:4,c:5,f:8)      〃 ---〃 C---〃 c~g(c:4,d:5,e:8,f:14,g:18)      BB-12---FF-A---HH-a~c(a:11,b:14,c:18)      〃 ---〃 B---〃 b,d,f,g(b:7,d:9,f:12,g:13)      〃 ---〃 C---〃 c~f(c:1,d:3,e:9,f:11) 「計算」ボタンと「リセット」ボタン  ※「計算」ボタンをクリックするとIIとJJ」に計算内容を表示  ※「リセット」ボタンをクリックすると、すべてリセットさせる。AAのみ表示を残す II  EE×GG JJ  (AAとBBとFFのチェックによる数字)×(20-HH)×II÷2    <例>    AA-1---BB-12---FF-A→12(掛ける数字)×(20-HH-a)×II÷2    〃1---BB-12---〃 B→17(掛ける数字)×(20-〃c)×〃÷2                     ・                     ・ -------- 計算が大きく2つに別れて計算という形になるのですが、 <<1>> -AA-1---BB-11---FF-A-|→EEで必要な数字15 | | |-〃12---〃 -|→     〃 18 | | -〃2---BB-11---FF-A, C-|→EEで必要な数字20 | | |-〃 12--- 〃 -|→   〃  22 | | |-〃 14--- 〃 -|→   〃  27 | | -〃3---BB-11---FF-B,E-|→EEで必要な数字28 |   |-〃 12--- 〃 -|→   〃  30 |   |-〃 13--- 〃 -|→   〃  31 |   |-〃 14--- 〃 -|→   〃  32 |   |-〃 15--- 〃 -|→   〃  35 |         ・ -         ・ <<2>> ※ < >の数字は掛ける時に必要な数字 -BB-11---FF-A---HH-a<3> | |   |  |--〃b<6> | |   |  |--〃c<10> | |   | | |   FF-B---HH-a<4> | |   |  |--〃c<5> | |   |  |--〃f<8> | |   | | |   FF-C---HH-c<4> | |   |  |--〃d<5> | |   |  |--〃e<8> | |   |  |--〃f<14> | |   |  |--〃g<18> | | -BB-12---FF-A---HH-a<11> | |   |  |--〃b<14> | |   |  |--〃c<18> | |   | | |   FF-B---HH-b<7> | |   |  |--〃d<9> | |   |  |--〃f<12> | |   |  |--〃g<13> | |   | -      ・ |      ・ ※ < >の数字は掛ける時に必要な数字 <例>AA-1---BB-12---FF-A<12>×(20-HH-a<3>)×II÷2 という感じになります。 大変分かりにくいとは思いますが、ご教授の程よろしくお願いします。

  • リンクのカラー

    教えてください。 リンク部の文字の色を変えようとすると、擬似クラスをつかって、次のようなコードで実現できるところまでは、わかります。 -----html----- <p class="sample"><a href="a.html">リンク</a></p> -----css----- .sample a:link { color: #FF0000; } ここで、<p>タグを使うと改行されてしまうため、<span>等の改行が入らないタグでリンク文字の色指定をしたいのですが、上手くいきません。 <span>じゃなくても良いのですが、改行が入らない、リンク文字の色指定の方法があれば、教えてください。

    • ベストアンサー
    • HTML
  • リンクされない、文字としての<a href="~">の書き方。

    こんにちは。 相互リンクのために、ホームページ上にバナ―を載せて、 「このバナーを使うときは、この<a href="~">~</a>をそのままコピーして   使用してください。」 と書く時に、<a href="~">~</a>がリンクするためのタグではなく、 あくまでも文字として表示するためにはどうすれば良いのでしょうか? ご存知の方、ぜひ教えてください。 よろしくお願いします。

    • ベストアンサー
    • HTML
このQ&Aのポイント
  • 税金を滞納した場合、税務署から警告の通知が届くことがあります。
  • 滞納した税金について、税務署から警告的な通知が送られることがあります。
  • 税金の滞納に対して、税務署から警告が届くことがあります。
回答を見る