2013-10-23 39 views
-1

如果我有一個文本字符串,像這樣的文本字符串:更換某些標籤的情況下,在使用PHP

In the beginning<WH7225> God<WH430> created<WH1254><WH853> the heaven<WH8064> and<WH853> the earth<WH776>. 

而且我想用含H A鏈接和之後的數字來代替標籤<>我怎樣才能用PHP做到這一點?

+0

什麼是您預期的輸出? – anubhava

+0

可能有一些文字的其他標籤,所以關鍵字是WH。這是將它與其他人分離的標識符。一些標記是這樣 JErik

+0

@anubhava我想實現這一目標: WH7225 隨着unike數爲每個變量 – JErik

回答

0

這應該工作:

$s = 'In the beginning<WH7225> God<WH430> created<WH1254><WH853> the heaven<WH8064> and<WH853> the earth<WH776>.'; 

$s = preg_replace('~<(WH\d+)>~', '<a href="mysite.php?code=$1">$1</a>', $s); 

OUTPUT:

In the beginning<a href="mysite.php?code=WH7225">WH7225</a> God<a href="mysite.php?code=WH430">WH430</a> created<a href="mysite.php?code=WH1254">WH1254</a><a href="mysite.php?code=WH853">WH853</a> the heaven<a href="mysite.php?code=WH8064">WH8064</a> and<a href="mysite.php?code=WH853">WH853</a> the earth<a href="mysite.php?code=WH776">WH776</a>.

+0

這個伎倆! – JErik

+0

不客氣,很高興它爲你工作。 – anubhava

0

對於這個例子:H[0-9]+周圍

$string = preg_replace('/<(WH[^>]+)>/', '<a href="mysite.php?code=$1">$1</a>', $string); 
+0

感謝良好和及時的回答你還有:) – JErik

1

使用preg_replace,把括號(代表「字母H後跟1個或多個數字)在搜索正則表達式(像這樣:<W(H[0-9]+)>),然後使用索引來指代在您的替換文本(像這樣:$1將參照第一括號)

+0

感謝良好和及時的答覆! – JErik

相關問題