[英]php: trim br tags from the beginning of a string?
我知道:
preg_replace('<br\s*\/?>', '', $string);
將刪除$ string中的所有br標簽...
我們怎樣才能刪除所有<br><br/><br />
標簽,只有當他們在$字符串的開始? (在我的例子中,$ string是帶有各種標簽的HTML代碼......)
只需添加一個合適的錨點( ^
):
preg_replace('/^(?:<br\s*\/?>\s*)+/', '', $string);
這將匹配字符串開頭的多個<br>
。
(?:…)
是一個非捕獲組,因為我們只使用括號來對表達式進行分組,而不是捕獲它。 修飾符並不是絕對必要的 - (…)
也可以正常工作,但正則表達式引擎必須做更多的工作,因為它需要記住每個捕獲命中的位置和長度。
$string = preg_replace( '@^(<br\\b[^>]*/?>)+@i', '', $string );
應該匹配:
<br>
<br/>
<br style="clear: both;" />
etc
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.