2012-09-30 66 views
0

我想用php替換兩個詞之間的內容。這兩個詞之間的內容不同,所以我不能使用傳統的str_replace。我想更換兩個詞之間的內容,例如:替換兩個詞之間的內容

I would like to replace **some string of text** between two words 

變化:

I would like to replace between two words 

你可以看到,我刪除了所有「一些」和「文本」的措辭。我再次無法使用常規的str_replace,因爲兩個單詞之間的文本可能不同。例如,它可能會說:

I would like to replace **some words of text** between two words 

變化:

I would like to replace between two words 
+0

'$ txt = preg_quote('some string of text'); $ new = preg_replace(「/ $ txt /」,'new text',$ old);'不起作用? –

回答

3

正則表達式很簡單:/some .*? text/

只是空字符串替換它。

+0

非常感謝。這工作完美。 – user982853

1

根據你的問題,只有你的字符串的內部改變。如果是這樣的情況下,這是相當瑣碎的,因爲你已經有解決方案:你不需要來取代它,但你只需要不搶過來:

$result = substr($string, 0, $startlen) . substr($string, -$endlen); 

也許這可以幫助你多找些「分辨率角度「來解決這些問題。

相關問題