首頁 >後端開發 >php教程 >10個字串相關的PHP程式碼片段

10個字串相關的PHP程式碼片段

WBOY
WBOY原創
2016-07-25 08:46:511045瀏覽
1、自動移除字串中的 HTML
>


在使用者表單中,你可能會想要移除所有不必要的HTML 標記。使用strip_tags() 函數可以簡單地做到這一點:

$text = strip_tags($input, “”);

2
2、獲取$start 和$end 之間的文字
這是一種每個網站開發人員應該收納在開發工具箱的功能:給定一個字串,一個起始位置,一個結束為止,並返回包含在$ start 和$end 兩者之間的文字。
function GetBetween($content,$start,$end){
$r = explode($start, $content);
if (isset($r[1])){
$r = explode($end, $r[1]);
return $r[0];
}
return ”;
}
3、將 URL 轉換為超連結

如果你在 WordPress 部落格的評論表單中新增了 URL,它會自動轉換為超級連結。如果你想要在網站上實現相同的功能,可以使用以下程式碼:

$url = “伺服器運維與架構 (http://www.ha97.com)”;
$url = preg_replace(“#http://([A-z0-9./-] )#”, ‘$0′, $url);



4.將文字分割為 140 個字元的陣列

大家都知道,Twitter 僅接受 140 字元以內的訊息。如果你希望與這個流行的即時資訊網站交互,肯定會喜歡這個功能,這將允許對留言截斷為 140 個字元。

function split_to_chunks($to,$text){
$total_length = (140 – strlen($to));
$text_arr = explode(” “,$text);
$i=0;
$message[0]=”";
foreach ($text_arr as $word){
if ( strlen($message[$i] . $word . ‘ ‘) if ($text_arr[count($text_arr)-1] == $word){
$message[$i] .= $word;
} else {
$message[$i] .= $word . ‘ ‘;
}
} else {
$i ;
if ($text_arr[count($text_arr)-1] == $word){
$message[$i] = $word;
} else {
$message[$i] = $word . ‘ ‘;
}
}
}
return $message;
}

5、從字符串中移除URL

為了獲得流量或者反向鏈接,很多訪客會發布大量含有網址信息的博客評論,這個代碼片段可以對其進行有效防範:
$string = preg_replace('/b(https?|ftp|file)://[-A-Z0-9 &@#/%?=~_|$!:,.; ]*[A-Z0-9 &@#/%=~_|$]/i', ”, $string);
6、轉換字串為縮寫
建立縮略標題(通常稱為permalink, 即固定連結)有利於SEO,以下函數以字串作為參數,並傳回良好的縮略字串。 slug($str){
$str = strtolower(trim($str));
$str = preg_replace(‘/[^a-z0-9-]/’, ‘-’, $str);
$str = preg_replace(‘/- /’, “-”, $str);
return $str;
}
7、解析 CSV 檔案
CSV(逗號分隔的數值檔案)是儲存資料的簡單方式,使用 PHP 解析也很容易。不信你可以動手試試以下程式碼片段。
$fh = fopen(“contacts.csv”, “r”);
while($line = fgetcsv($fh, 1000, “,”)) {
echo “Contact: {$line[1]}”;
}

1

8、檢索字串中的另一個字串
如果某個字串包含在另一個字串中,並且必須檢索出來,這裡有一個絕妙的方法:
function contains($str, $content, $ignorecase=true){
if ($ignorecase){ $str = strtolower($str); $content = strtolower($content); } return strpos($content,$str) ? true : false; }9、偵測某個字串是否以指定的模式開始有些語言例如 Java 有一個 startWith 方法,讓你偵測某個字串是否以指定的模式開始。不幸的是,PHP 不具備這種內建函數。但我們可以自己動手豐衣足食,實作也很簡單:
function String_Begins_With($needle, $haystack {
return (substr($haystack, 0, strlen($needle))==$needle);
}
10、從字串中提取電子郵件地址
有沒有想過那些發垃圾郵件的人是如何得到郵件地址的?這很簡單,他們只需對網頁進行簡單的 HTML 解析即可提取電子郵件。此程式碼需要一個字串作為參數,並列印所包含的電子郵件地址。告誡:請勿使用此代碼製造垃圾郵件!
function extract_emails($str){
// This regular expression extracts all emails from a string:
$regexp = '/([a-z0-9_.-]) @(([a-z0-9-]) .) ([a-z0-9]{2,4}) /i';
preg_match_all($regexp, $str, $m);
return isset($m[0]) ? $m[0] : array();
}
$test_string = ‘This is a test string…
test1@example.org
Test different formats:
test2@example.org;
foobar
strange formats:
test5@example.org
test6[at]example.org
test7@example.net.org.com
test8@ example.org
test9@!foo!.org
foobar
‘;
print_r(extract_emails($test_string));
喜歡我的文章那就關注我的微信toceansoft



陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn