2012-05-25 25 views
1

我有一段存儲在數據庫中,我只想得到前五行。它如何做到這一點?如何從段落中獲得第一行

我應該將第一個數組轉換爲srting嗎?如果是的話那麼該怎麼做?

如果字符串比我可以通過

$str='mayank kumar swami mayank kumar swami'; 
$var= strlen($str); 
for($i=0;$i<8;$i++){ 
    echo $str[$i]; 
} 
做這個
  • 或如何從SQL數據庫中得到的只有200字?
  • 我知道它可以通過CSS來實現輕鬆顯示在顯示first line of a paragraph螺母我想通過PHP或SQL查詢來做到這一點

    什麼我做

    $article_result = mysql_query("SELECT * FROM article ORDER BY time DESC LIMIT 1",$connection); 
        if($article_result){ 
         while($row = mysql_fetch_array($article_result)) 
          { 
    
           echo "<div class=\"article_div\" >"; 
           echo "<h4 id=\"article_heading\"><img src=\"images/new.png\" alt=\"havent got\" style=\"padding-right:7px;\">".$row['article_name']."</h4>"; 
           echo"<h5 class=\"article_byline\">"; 
           echo" by"; 
           echo"<a href=\"#\">{$row['authore']}</a></h5>"; 
           echo" <div id=\"article_about\"><p>{$row['content']}</p></div>"; 
              //here i want to get only 2000 word from database (content) 
    
           echo "</div>"; 
          } 
         } 
    
    +1

    您的主要問題是要定義多少個單詞組成一行。您無法建立這些數據,您無法找到某段的前N行。 – Lobo

    回答

    5

    有許多對這個問題的解決方案。

    如果你想用文字的數量來分割它,類似於貼user247245東西:

    function get_x_words($string,$x=200) { 
        $parts = explode(' ',$string); 
        if (sizeof($parts)>$x) { 
        $parts = array_slice($parts,0,$x); 
        } 
        echo implode(' ',$parts); 
    } 
    

    我的首選方法卻是讓所有的滿語,直到某一個點(如200個字符):

    function chop_string($string,$x=200) { 
        $string = strip_tags(stripslashes($string)); // convert to plaintext 
        return substr($string, 0, strpos(wordwrap($string, $x), "\n")); 
    } 
    

    以上將在砍200個字符字符串,但一個字結束後,將只砍了(這樣你就不會得到半個字在年底返回)

    +0

    感謝它的完美工作..... –

    2

    您可以使用substring功能在mysql

    SELECT SUBSTRING('Quadratically',1,5); 
    

    回報

    Quadr 
    

    我建議你用sql做,因爲它減少了數據庫服務器和應用程序服務器之間的數據傳輸量。

    所以,現在你修改這個

    $article_result = mysql_query("SELECT article_name, authore, SUBSTRING(content,1,200) as content FROM article ORDER BY time DESC LIMIT 1",$connection); 
    
    +0

    請你詳細說明 –

    +0

    使用mysql substring函數可以得到字符串的一部分。根據你的要求,你可以得到前200個字符。 – Venu

    2

    試試這個:

    <?php 
    echo substr("mayank kumar swami mayank kumar swami", 0, 6); 
    ?> 
    

    結果輸出:mayank

    3

    我們談論的話,線和字母?

    如果語言:

    $a = explode(' ',$theText); 
    if (sizeof($a)>200) $a = array_slice($a,0,200); 
    echo implode(' ',$a); 
    

    問候,

    0
    <?php 
    $about_vendor ="Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci officia excepturi quisquam mollitia, obcaecati cupiditate, quaerat est quibusdam nostrum esse culpa voluptates eum, et architecto animi. Voluptates enim tenetur minus! Lorem ipsum dolor sit amet, consectetur adipisicing elit. Laboriosam magni exercitationem non at error possimus, voluptas aut, aperiam sint pariatur illo libero vel aspernatur tempora laborum. Harum nesciunt quos at. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Vitae quidem saepe voluptates minus delectus, dolores, repellat maiores quae consectetur quasi qui voluptas eius odit autem optio cupiditate nesciunt iste ducimus!" 
    // Convert string to array 
    $convert_to_array = explode(' ',$about_vendor); 
    // Total length of array 
    $total_length_of_array = count($convert_to_array); 
    ?> 
    <p class="tip_par" style="text-align:justify;"> 
    <!-- specify how many words do you want to show, I like to show first 30 words --> 
        <?php for($i=0;$i<=30;$i++) { 
        echo $convert_to_array[$i].' '; 
        } ?> 
        <!-- If you have more than 30 word it will show on toggle click on below more link --> 
        <span style="color:#C1151B;"> <span data-toggle="collapse" data-target="#demo" style="cursor:pointer;"><?php if($total_length_of_array >30) { 
        echo "more"; 
        } ?></span> 
        <div id="demo" class="collapse tip_par" style="padding-top: 0px;"> 
        <?php for($i=31;$i<$total_length_of_array;$i++) { 
        echo $convert_to_array[$i].' '; 
        } ?> 
        </div> 
    </span> </p>