私はテキストを持っているとしましょう、
$text = '@stackguy @flowguy I need to learn more advanced php #ilovephp';
@stackguy と @flowguy の両方をそれぞれ 2 つのアンカー タグに置き換えたいと思います。これは、テキスト文字列内の任意の数の @ に対しても機能するはずです。
<a href="url/stackguy">@stackguy</a>
<a href="url/flowguy">@flowguy</a>
#ilovephp も置き換えたい
<a href="search/ilovephp">#ilovephp</a>
複数の # に対しても機能するはずです。みたいな感じになると思います
preg_replace_callback('regex',
create_function('$matches', '
switch ($matches[1]) {
case "@":
return "<a href=url.$matches[2]'/'>" . $matches[2] . "</a>";
case "#":
return "<a>" . $matches[2] . "</a>";
}
'), $var);
正規表現はどのようになりますか? 私の関数は必要なものすべてに一致しますか、それとも foreach ループを追加する必要がありますか? ありがとう。