0


0

私はTwitterでリンクを解析するために私が作ったこの機能を改善するための手助けが必要です。 ハッシュタグと@返信へのリンクを作成します。 それはすべてうまくいきます、問題はハッシュタグまたは@replyの最後に句読点文字がスペースなしである場合、それがHREF URLに追加されることです。

たとえば、「#pizzaと#popが本当に好き」とツイートした場合、#pizzaへのリンクはカンマが含まれるため間違っています。

Regexはあまり得意ではありません。これをうまく機能させるために少し時間がかかりました。

function parse_tweet($ description、$ color = ''、$ external = false){if($ external == true)$ pre = 'http://politwitter.ca';そうでなければ$ pre = ''; $ description = preg_replace( "/(http:\ / \ / [^ \ s])/"、 "$ 1"、$ description); $ description = preg_replace( "#(^ | [\ n])((www | ftp)\。[^ \" \ t \ n \ r <] *)#ise "、" '\\ 1 \\ 2' "、$ description); $ description = preg_replace("#(^ | [\ n])@([^ \ "\ t \ n \ r <] *)#ise"、 "'\\ 1 @ \\ 2 '"、$ description); $ description = preg_replace( "#(^ | [\ n])\#([^ \" \ t \ n \ r <] *)#ise "、" '\\ 1#\\ 2' "、$ description $ descriptionを返します。

}

1 Answer


2


あなたが望むことをするためのあなたのコードの最も簡単な修正:

$ description = preg_replace( "#(^ | [\ n])\#(\ w)#ise"、 "'\\ 1#\\ 2'"、$ description);