変数から電子メール アドレスを抽出するために、php ファイル (拡張子は Joomla Community Builder 1.9.1
、ファイルは) を変更しようとしています。\components\com_comprofiler\plugin\templates\default\default.php
説明のために、この変数が であるとしましょう$html
。この変数が、対象とする電子メール アドレスを含む正しい変数であることを確認するために、次のように挿入します。
<pre><?php print_r($html) ?></pre>
ファイルに入力すると、その出力はmailtoリンク付きの電子メールアドレスであり、対応するHTMLは次のようなものです
<span id="cbMa47822" class="cbMailRepl"><a href="mailto:myemail@yahoo.com">myemail@yahoo.com</a></span>
だから私は使用できると思います:
<?php $html_array = explode("\"",$html);echo $html_array[5]; ?>
Io get'mailto:myemail@yahoo.com';
しかし、実際には次の通知のみを返します。
未定義のオフセット:5
だから私print_r($html_array)
、そしてそれは次のようなものを返します
Array
(
[0] => cbMa14768
[2] => class=
[3] => cbMailRepl
[4] => >...
)
Chrome の開発者ツールの html インスペクタに表示されるように、html 出力の<a>
タグ部分が に置き換えられて"..."
いるように見えます。展開する前の HTML は次のようになります。
<span id="cbMa47822" class="cbMailRepl">...</span>
これがどのように構成されているかを調べようとして、php コードを詳しく調べまし$html
たが、まったく理解できません。
学習目的で、私の質問は次のとおりです。
[1]
の結果になぜないのかprint_r($html_array)
変数の値をより正確にテストする方法
"<a href="htt://foo.com">foo</a>"
はprint_r
?そして最も重要なことは、上記の情報に基づいて、このような変数から電子メール アドレスを抽出する方法に関するヒントを教えてください。
最後に、これを詳しく調べたい人のために、私が話している変数は にあります$this->tableContent[$userIdx][1][6]->value
。\components\com_comprofiler\plugin\templates\default\default.php
もともとはコードにはありませんでしたが、いくつかのテストを行い、電子メール アドレスが含まれていることを確認しました。450行目と451行目の間に次のコードを挿入しました
<?php $html_array = explode("\"",$this->tableContent[$userIdx][1][6]->value);echo $html_array[5]; ?>