您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關怎么使用正則替換的方式實現清除字符串中所有的HTML標簽,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
如何編寫一個函數,使用正則替換的方式能夠實現清除字符串中所有的HTML標簽?
如果我們想要去清楚字符串HTML的標簽去要把HTML的標簽全部列出來,首先我們先把字符串定義下來,總的來說我們HTML的標簽主要有兩種情況,一種是雙標簽以什么開始,以什么結束,另外一種就是單標簽(<meta>或者是input)結束,一般情況下,我們不會把這個標簽給刪掉,比如說寫一個(input)標簽的文本域,如果我們把標簽刪掉了,文本域就沒了,因此我們不會直接這樣做,我們會把相對應的標簽轉化為實體,假如,我們直接輸出(echo)$str;我們運行結果,空白欄外是front標簽,里面是普通的文本域,(代碼結果如下所示)
<?php /**** ***清楚字符串HTML標簽* *******/ $str ='<font>高考加油</font><input type="text"/>'; echo $str; ?>
代碼結果如下所示
以上這種情況,如果我們要是清除,是不行的,因此,我們會對上述代碼進行替換,首先,我們先定義一個函數,function demo(),給到一個字符串,緊接著我們定義正則,$pattern,然后我們需要使用到兩個符號,第一(/</S),第二個是(/>/S),當我們找到之后,我們進行替換,$replace,一個是(<)另一個是(>),最后我們直接(return)他們的結果。輸出(echo)demo($str),最后我們得到的結果就是原樣輸出,
代碼如下:
<?php /**** ***清楚字符串HTML標簽* *******/ $str ='<font>高考加油</font><input type="text"/>'; echo $str; function demo($str){ //定義正則 $pattern = array( '/</S', '/>/S' ); $replace = array('<','>' ); return preg_replace($pattern, $replace, $str); } echo '<hr/>' ; echo demo($str); ?>
代碼結果如下所示;
其實一樣,我不使用這個函數,系統中也有其他的函數幫我們實現;
例如:
(htmlentities)---將字符串轉換為HTML轉義字符。
(htmlspecialchars)---特殊字符轉換為HTML實體。
現在我們用(htmlspecialchars)
函數進行編碼,然后進行代碼演示:
代碼如下:
<?php /**** ***清楚字符串HTML標簽* *******/ $str ='<font>高考加油</font><input type="text"/>'; echo $str . '<hr/>'; echo htmlspecialchars($str); function demo($str){ //定義正則 $pattern = array( '/</S', '/>/S' ); $replace = array('<','>' ); return preg_replace($pattern, $replace, $str); } echo '<hr/>' ; echo demo($str); ?>
代碼結果如下所示;
從上述代碼演示結果看出,我們所得到的結果是一樣的,這就是我們所實現的替換,然而對于我們今天討論的清除,道理是一樣的,我們還是定義一個正則表達式,
我們以代碼為例:
<?php /**** ***清楚字符串HTML標簽* *******/ $str ='<font>高考加油</font><input type="text"/>'; echo $str . '<hr/>'; echo htmlspecialchars($str); function demo($str){ //定義正則 $pattern = array( '/</S', '/>/S' ); $replace = array('<','>' ); return preg_replace($pattern, $replace, $str); } echo '<hr/>' ; echo demo($str); echo '<hr/>'; $str ='<font color="" >高考加油</font>'; $pattern = '/<.*?>(.*?)<\/.*?>/S'; echo preg_replace($pattern,'\1',$str); ?>
代碼結果如下所示;
通過上述代碼我們可以清楚地看到,標簽已經清除了,只剩下內容了;
關于“怎么使用正則替換的方式實現清除字符串中所有的HTML標簽”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。