我該如何在php中編寫以下代碼?如何在php中創建指定數量的字符後換行符?
如果沒有空格的字符數超過75個,請創建換行符。
wordwrap函數似乎也計算空白,所以我不知道我可以使用它。我只想在我的$ description大於75個字符並且沒有空格時打破。
感謝您的幫助!
我該如何在php中編寫以下代碼?如何在php中創建指定數量的字符後換行符?
如果沒有空格的字符數超過75個,請創建換行符。
wordwrap函數似乎也計算空白,所以我不知道我可以使用它。我只想在我的$ description大於75個字符並且沒有空格時打破。
感謝您的幫助!
我假設你只想在一個空間上打破,而不是任何人物。
這不是很有效,但它應該工作。
$array = str_split($input);
$iNumChars = 0;
$sOutput = "";
foreach($array as $char) {
if($char != " ") $iNumChars++;
if($iNumChars > 75 && $char == " "){
$sOutput .= "\n".$char;
$iNumChars = 0;
}else{
$sOutput .= $char;
}
}
爲什麼第一個'$ iNumChars ++;'? – 2011-12-28 07:36:35
爲什麼不呢?我必須補充一點。我還要如何保持數字不變? – 2011-12-28 07:39:01
我不遵循你的邏輯。 [檢查出來](http://www.ideone.com/bTAp0),並將其與[您的版本](http://www.ideone.com/sGNRI)進行比較(示例文本適用於第1版) 。 – 2011-12-28 07:47:23
查找字符串的長度。
如果strlen的(字符串)> 75
搜索字符串空白(strpos)
如果沒有空格發現,那麼你可以創建一個換行符
不是一個真正的答案,她想排除計數中的空白,這是你沒有考慮到的。 – 2011-12-28 07:39:36
Okk。我糾正了我的自我。首先搜索字符串中的空白位置。如果pos大於75,則在75個字符後創建換行符。 – Shraddha 2011-12-28 07:44:02
希望這會工作,嘗試:
// $str is your string
$explode = explode(" ", $str);
foreach($explode as $key=>$val){
if($key <= '75'){
$join_arr = " " . $val;
if($key == '75'){
// Line Break Here
$join_arr .= "<br>";
}
echo $join_arr;
}
else{
exit();
}
}
只提供76個字符。
我認爲這是我需要的。明天我會試一試,讓你知道。我一直在努力尋找最後一個小時的解決方案,現在已經過去了我的就寢時間。 :) 謝謝! – Andi 2011-12-28 08:37:32
你的歡迎:) – 2011-12-28 08:50:41
你想打破中間詞? – 2011-12-28 07:31:32
嘗試寫出你需要的東西,然後在遇到困難時提問。 – vdbuilder 2011-12-28 07:32:16
如果這些數據以HTML格式顯示,那麼在UI級別處理它會不會更好?例如:您可以使用word-wrap屬性爲css並將其設置爲「break-word」 – dkulkarni 2011-12-28 07:35:30