我們經(jīng)常會(huì)在提交表單時(shí)發(fā)現(xiàn)數(shù)據(jù)庫中有一些看不到的回車換行了,這樣如果js調(diào)用就會(huì)出問題,下面我來介紹在php過濾回車換行方法.
在unix世界換行就用/n來代替,但是windows為了體現(xiàn)他的不同,就用/r/n,更有意思的是在mac中用/r,因此unix系列用 /n,windows系列用 /r/n,mac用 /r,這樣就用你寫的程序在不同的平臺(tái)上運(yùn)行有著不少的麻煩,下面是PHP去除換行符的一些常見方法.
第一種寫法,代碼如下:
- $content=str_replace("n","",$content);
- echo $content;
第二種寫法,代碼如下:
str_replace("rn","",$str);
第三種寫法,代碼如下:
- $content=preg_replace("/s/","",$content);
- echo $content;
關(guān)于n,r,t
n 軟回車:在Windows 中表示換行且回到下一行的最開始位置,在Linux、unix 中只表示換行,但不會(huì)回到下一行的開始位置.
r 軟空格:在Linux、unix 中表示返回到當(dāng)行的最開始位置,在Mac OS 中表示換行且返回到下一行的最開始位置,相當(dāng)于Windows 里的 n 的效果.
t 跳格(移至下一列)
在網(wǎng)站看到很多方法.結(jié)果都不不能用.一般是n這個(gè)符號(hào)換不掉,如果n符號(hào)清空了,還是會(huì)換行,一般是源碼代碼中有br標(biāo)簽,可以直接替換掉,代碼如下:
- function DeleteHtml($str)
- {
- $str = str_replace("<br/>","",$str);
- $str = str_replace("/t","",$str);
- $str = str_replace("/r/n","",$str);
- $str = str_replace("/r","",$str);
- $str = str_replace("/n","",$str);
- return trim($str);
- }
注意,n前面的轉(zhuǎn)義符號(hào).
過濾html與換行實(shí)例,代碼如下:
- <?php
- // $document 應(yīng)包含一個(gè) HTML 文檔。
- $search = array ("'<script[^>]*?>.*?</script>'si", // 去掉 javascript
- "'<[/!]*?[^<>]*?>'si", // 去掉 HTML 標(biāo)記
- "'([rn])[s]+'", // 去掉空白字符
- "'&(quot|#34);'i", // 替換 HTML 實(shí)體
- "'&(amp|#38);'i",
- "'&(lt|#60);'i",
- "'&(gt|#62);'i",
- "'&(nbsp|#160);'i",
- "'&(iexcl|#161);'i",
- "'&(cent|#162);'i",
- "'&(pound|#163);'i",
- "'&(copy|#169);'i",
- "'&#(d+);'e"); // 作為 PHP 代碼運(yùn)行
- $replace = array ("","","/1",""","&","<",">"," ",chr(161),chr(162),chr(163),chr(169),"chr(/1)");
- $text = preg_replace($search,$replace,$document);
- ?>
新聞熱點(diǎn)
疑難解答