文字列の周りにリンクを追加したいと思います
"My new Tweet **#new** this is cool".
そして、ハッシュタグ #new をリンクにラップしたいと思います。
その後、私は得るでしょう:
"My new Tweet <a href="http://twitter.com/search/%23new">new</a> this is cool.
どうすればそれができますか?
文字列の周りにリンクを追加したいと思います
"My new Tweet **#new** this is cool".
そして、ハッシュタグ #new をリンクにラップしたいと思います。
その後、私は得るでしょう:
"My new Tweet <a href="http://twitter.com/search/%23new">new</a> this is cool.
どうすればそれができますか?
これを試して:
$string = "My new Tweet **#new** this is cool".
$linked_string = preg_replace('/\*\*(\#(.*?))\*\*/', '<a href="http://twitter.com/search/$1">$2</a>', $string);
hastag に文字と数字のみが含まれていると仮定すると、次のコードを使用できます。
$string = preg_replace('/\*\*#([a-zA-Z0-9]+)\*\*/', '<a href="http://twitter.com/search/%23$1">$1</a>', $string);
必要に応じて、正規表現の内容を簡単に変更できます。
これはおそらくそれを行うでしょう:
$yourString = 'My new Tweet **#new** this is cool';
$yourString = preg_replace_callback('/\*\*(#(.+?))\*\*/', function($matches) {
$html = '<a href="http://twitter.com/search/%s">%s</a>';
return sprintf($html, urlencode($matches[1]), htmlentities($matches[2]));
}, $yourString);