2012-09-18 26 views
0

我如何將這兩個preg_replace加在一起?我迷失在如何去做。我如何添加兩個preg_replace在一起?

<?= preg_replace('/@(\w+)/', '<a href="https://www.twitter.com/$1">@$1</a>', stripslashes($row['tweet_text']))?> 
<?= preg_replace('/#(\w+)/', '<a href="https://twitter.com/#!/search/$#$1">#$1</a>', stripslashes($row['tweet_text']))?> 

,它會做這兩個事情

stripslashes($row['tweet_text'] 
+0

不確定您可以將正則表達式合併爲一個,因爲您正在處理兩個不同的主題。 – chovy

+0

是的,但我不知道PHP很好,即時通訊工作了我有一個腳本。 – mystycs

+1

不要聽這些人,他們都是錯的,閱讀我的迴應。 –

回答

3

你可以這樣做:

$regex = array('/@(\w+)/','/#(\w+)/'); 
$replace = array(
    '<a href="https://www.twitter.com/$1">@$1</a>', 
    '<a href="https://twitter.com/#!/search/$#$1">#$1</a>' 
); 
preg_replace($regex,$replace,stripslashes($row['tweet_text'])); 

檢查文檔:http://php.net/manual/en/function.preg-replace.php

此外,here's a sweet example

+0

我把這一切都放在一個地方,或者我可以把頂部放在某個地方,然後用'preg_replace($ regex,$ replace,stripslashes($ row ['tweet_text']))來調用它。 ' – mystycs

+0

後者。你可以在文件的開頭定義數組,只要你不想覆蓋數組,就可以使用'preg_replace'。 –

+0

而不是'https://twitter.com/#!/ search/$#$ 1'使用'https://twitter.com/#!/ search /%23 \ 1' –

相關問題