php中添加一个链接,使用php在推文中链接一个标签
你好我需要在php的推文中添加一個(gè)href標(biāo)簽,例如,如果我有這樣的推文:
@username tweet body message http://t.co/sfr34s5
我需要用php將其變成這個(gè):
@username tweet body message http://t.co/sfr34s5
我認(rèn)為這可以使用preg_replace來完成,我有類似的東西已經(jīng)在twitter @username周圍包含一個(gè)鏈接,如下所示:
$tweet= preg_replace('/@([a-z0-9_]+)/i', '@$1', $tweet);
如何編輯此正則表達(dá)式部分,以便在出現(xiàn)的推文中圍繞網(wǎng)址添加標(biāo)記?
解決方法:
請(qǐng)嘗試以下代碼:
$source = '@username tweet body message http://t.co/sfr34s5';
$pattern = '/(http:\/\/[a-z0-9\.\/]+)/i';
$replacement = '$1';
$source = preg_replace($pattern, $replacement, $source);
正則表達(dá)式將匹配以“http://”開頭的所有字符串,后跟一系列字母數(shù)字值,正斜杠或點(diǎn).
它應(yīng)該適用于所有情況,但是,如果您只是嘗試提取t.co鏈接,則可以使用此模式的更安全版本:
$pattern = '/(http:\/\/t\.co\/[a-z0-9]+)/i';
這只會(huì)匹配’http://t.co/[alnum-chars].
如果需要匹配所有URL,則必須根據(jù)需要修改模式.例如.要匹配http://t.co/abcde?x=1&y=2,您需要使用以下模式:
$pattern = '/(http:\/\/[a-z0-9\.\/?=&]+)/i';
我在PHP5.3上對(duì)此進(jìn)行了測試,它使用了您指定的URL.
標(biāo)簽:tweets,php,regex,twitter,preg-replace
來源: https://codeday.me/bug/20190723/1513434.html
總結(jié)
以上是生活随笔為你收集整理的php中添加一个链接,使用php在推文中链接一个标签的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是网银
- 下一篇: php正则过滤html标签_空格_换行符