1

さて、このフォーラムの人々のおかげで、私はついに簡単なツイッターオンラインウェブサイトが機能するようになりました。今、私は別の問題に遭遇しました。

Twitterフィードで、サンプルテキストは次のようになっています。

猫はいつも鞄の中にいます@folks@charliesheen

今、私は正規表現を使用してテキスト内のすべての@ _文字列を検索し、それらを次のように置き換えるというアイデアを思いつきました。

<a href="index.php?".$(matched_string - @)>matched_string</a>

どうすればこれを実行できるかについてのアイデアはありますか?

4

1 に答える 1

4

これが私がすぐにハックしたものです。 \S「空白以外の文字」を意味します。

$str = 'The cat will always be in the bag @folks @charliesheen';
$str = preg_replace('/@(\S*)/', '<a href="index.php?$1">$1</a>', $str);

編集:安全のために、URL内のすべての文字が「url-safe」であることを確認する必要があります。

$str = 'The cat will always be in the bag @folks @charliesheen';
$str = preg_replace_callback('/@(\S*)/', function($x){
    return '<a href="index.php?'.urlencode($x[1]).'">'.$x[1].'</a>';
}, $str);
于 2012-06-10T06:43:24.143 に答える