この正規表現パターンは私を混乱させます。
@tom
変数に保存されているようなユーザー名があります。@tom
文字列のどこかに見つかったときに一致するパターンを設定したいと思います。始まり、中間、または終わり。
私の目標は、一致させてから、彼のプロフィール ページへのリンクに置き換えることです。理解できたと思いますが、単語の終わりを認識していません。探しているときのように、私が望んでいないものと@tom
も一致します。@tommy
これが私がこれまでに持っているものです:
$pattern = array();
$pattern[0] = '/'.$possible1.'/i';
$replacement = array();
$replacement[0] = '$1<a href="http://banterme.com/'.$possible1user.'">@'.$possible1user.'</a>';
echo preg_replace($pattern, $replacement, $text);
配列を使用するのは、1 つだけではなく、テキスト内のすべての @ に一致させたい (例: @tom は @inga と一致する) ためです。実際のコードを単純化して、配列の一部のみを表示しました。
更新:基本的に、私は'/'.$possible1.'/i'
(たとえば)@tom
に一致しないものを把握しようとしてい@tommy
ます。