與trim_all()刪除不想要的字符 - PHP:
這個函數的靈感來源於PHP的內置函數 trim ,它從字符串的開頭和結尾刪除不需要的字符,並且如果沒有提供作爲第二個參數的這樣的字符,則刪除所提供的空格字符在這個列表中。
那麼, trim_all() 是做什麼的?
trim_all() 旨在從字符串的兩端刪除所有空白的實例,以及刪除字符串內的重複空格字符。但是,後來,我把它作爲一個通用功能,不僅僅是空白的修剪和清理,而且使它接受要替換的字符和要替換的字符。有了這個功能,您可以:
正常化的空格,讓所有的多個\ r,\ n,\ t,\ r \ n \ 0,0x0B中,0x20的 和所有控制字符可用單個空間替代,並且從字符串的兩端也被修剪;
刪除所有不需要的字符;
刪除重複;
用字符或字符串替換多次出現的字符。
function trim_all($str , $what = NULL , $with = ' ')
{
if($what === NULL)
{
// Character Decimal Use
// "\0" 0 Null Character
// "\t" 9 Tab
// "\n" 10 New line
// "\x0B" 11 Vertical Tab
// "\r" 13 New Line in Mac
// " " 32 Space
$what = "\\x00-\\x20"; //all white-spaces and control chars
}
return trim(preg_replace("/[".$what."]+/" , $with , $str) , $what);
}
,當你想從用戶的輸入刪除不需要的字符,該功能會有所幫助。以下是如何使用它。
示例使用:
$full_name = trim_all($_POST['full_name']);
或
$full_name = trim_all($full_name , "\t" , "");
的問題是,我還沒有得到解決匹配非負的比賽,所以我怎麼會只有刪除所有行在標題標籤內部打破。 preg_replace('/ title =「(。*)」/','',$ s);徹底刪除一切..對不起,但我沒有真正使用這個功能,並難倒了。 – tan
讓我們從字面上說話。你應該告訴正則表達式:請刪除所有br標籤,但不要在title =「and before」之後出現的thos。現在你應該強制你的大腦解決這個問題。這很容易。讓我找到它,我會發布它 – 2014-02-15 11:09:07
是的,這聽起來很容易。我現在正在嘗試幾個小時,但不要完成它。請給我一個例子嗎? – tan