2012-03-10 114 views
2

如果我有很長的字符串輸入該怎麼辦?大概50-250個字符。 我回應了這個變量,它會回覆一長串字母和單詞。變量字符串內的換行符

那麼,我將如何讓變量自動換行呢?也許在50個字符之後,它會在回顯時換行。

我想過計算字符串的長度和循環它,並計數50個字符後,它會新線,但如果我這樣做,它會減慢網站。

是否有任何功能來換行a VARIABLE STRING?或者我應該使用循環呢?

+1

你並不需要插入新行。如果輸出爲html,它將自動包裝在其包含的元素中。如果你輸出到一個字符串變量中的JavaScript腳本塊,沒有人會看到結果。 (如果你確實想要這樣做,你不一定需要循環,你可以很容易地用正則表達式替換。)還要注意的是,除非使用等寬字體,否則每x個字符插入一個換行符看起來不正確。 – nnnnnn 2012-03-10 09:39:16

回答

2

您可以使用內置的PHP函數:wordwrap

如果你想切斷50個字符,並插入一個HTML斷行: wordrap($str, 50, "<br />"); 您還可以使用的最後一個參數給力的回報,即使該字符串不包含空格。

+0

我嘗試了wordwrap,但我無法使它工作。這行代碼有什麼問題嗎? '<?php $ str = $ row_Personalinfo ['hospitalized']; $ newstr = wordwrap($ str,20,「
\ n」); echo $ newstr;?>' – 2012-03-10 09:52:48

+0

它只適用於當你的字符串有空間時。它幫助我感謝。 – 2012-03-10 09:56:16

+0

使用第四個參數強制換行。 – 2012-03-10 09:58:29

1

您可以將轉義字符插入到字符串中,如\n將被轉換爲新換行符。

+2

如果你正在輸出它到瀏覽器\ n將無法正常工作 – 2012-03-10 09:40:44

1

您可以使用PHP_EOLstrlen()一起達到您想要的效果。

0

如果你能夠在PHP字符串我認爲最終的解決辦法是使用功能的換行:http://www.php.net/manual/en/function.wordwrap.php

您可以設置行的最大lenght的braek參數(在你的情況/ N)。

該函數返回一個帶有/ n個分號的字符串,您可以打印它。

1

只是增加更多關於\n

// PHP 5.5.12 

// This works for outputing to browser: 
$XmlHeader = '<?mso-application progid="Excel.Sheet"?>' . "\n"; 

// These do NOT work: 
$XmlHeader = '<?mso-application progid="Excel.Sheet"?>' . '\n'; 
$XmlHeader = '<?mso-application progid="Excel.Sheet"?>\n'; 
+0

這不提供問題的答案。要批評或要求作者澄清,在他們的帖子下留下評論 - 你總是可以評論你自己的帖子,一旦你有足夠的[聲譽](http://stackoverflow.com/help/whats-reputation),你會能夠[評論任何帖子](http://stackoverflow.com/help/privileges/comment)。 – SuperBiasedMan 2015-09-30 08:46:04

+1

糾正這並不是爲了回答這個問題。但如果我們只是閱讀這個問題的標題,這個答案可能會在未來幫助某人。我只想評論其他答案,但不能因爲缺乏代表。 – Zunair 2015-09-30 12:18:57