我試圖用
標記替換名稱中的最後一個空格。到目前爲止,我的名字被刪除,「Amy L. Example」變成了「Amy L.」僅替換字符串的最後一個空格的問題
對此正則表達式的任何幫助將不勝感激。剛開始掌握他們的工作方式。
代碼:
<?php $resume['name'] = preg_replace('/\s(\S*)$/', '<br />', $resume['name']); echo $resume['name'] ?>
我試圖用
標記替換名稱中的最後一個空格。到目前爲止,我的名字被刪除,「Amy L. Example」變成了「Amy L.」僅替換字符串的最後一個空格的問題
對此正則表達式的任何幫助將不勝感激。剛開始掌握他們的工作方式。
代碼:
<?php $resume['name'] = preg_replace('/\s(\S*)$/', '<br />', $resume['name']); echo $resume['name'] ?>
你需要把$1
替換字符串,讓你捕捉到的字將被保留,不會被刪除。
你告訴PHP來更換一個空格字符後的任何非空格字符,放置在你的字符串末尾,用<br />
,因此您的last space + last word
明顯移除,僅由標籤所取代。
只要將它編輯本:
preg_replace('/\s(\S*)$/', ' \\1<br />', $name);
這樣你的空間,這個詞本身和標籤更換last space + last word
。
非常感謝。非常有意義。 – jsuissa 2012-02-16 03:07:37
順便說一句,另一種做法是:'preg_replace('/ \ s(?= \ S * $)/','
',$ resume ['name']);' - 在這種情況下,單詞isn沒有被捕獲,只是用向前確認,所以你不需要'$ 1'。不過,我不知道哪個更有效率。 – 2012-02-16 03:16:54