2016-07-04 42 views
-2

我該如何去存儲數組中的每一行?以下數據來自mysql數據庫中的db字段;我想通過數據字段逐行循環,並通過\n行和捕獲將它們分開,這意味着將每行放在一個數組中。從數據庫字段存儲數組中的行

<strong>Apr- May Price: </strong>Adult: $1,999.00 Children: $1,249.00 <br /> 

<strong>Nov - 15 Dec:</strong> Adult: $2,299.00 Children: $1,725.00 <br /> 

<strong>Jan - March Price:</strong> Adult: $2,599.00 Children: $2,249.00 <br /> 

<strong>Jun - Oct; 15-31 Dec Price: </strong>Adult: $2,999.00 Children: $2,249.00 <br /> 

謝謝大家的幫助,這就是我要怎樣做:

數據:

<strong>Seasonal Price: </strong>Adult: $1,899.00<br /> 

<strong>Seasonal Price: </strong>Adult: $1,499.00<br /> 

<strong>Seasonal Price: </strong>Adult: $1,299.00<br /> 

<strong>Seasonal Price: </strong>Adult: $1,699.00<br /> 

<strong>Apr- May Price: </strong>Adult: $2,999.00 Children: $2,249.00 <br /> 

<strong>Nov - 15 Dec:</strong> Adult: $3,199.00 Children: $2,3990 <br /> 

<strong>Jan - March Price:</strong> Adult: $3,399.00 Children: $2,549.00 <br /> 

<strong>Jun - Oct; 15-31 Dec Price: </strong>Adult: $4,799.00 Children: $3,599.00 <br /> 

腳本:

<?php 
      //Seasonal Price 
      $connection = mysql_connect("localhost","ro**","******#$"); 

      //select a database 
      mysql_select_db("odyssey_prod", $connection); 

      $query=mysql_query("select post_content from wp_posts where ID ='$tourid'"); 
      $row=mysql_fetch_assoc($query); 

      //Seasonal Price 
      $seasonal_price = $row['post_content']; 

      $lines = array(); 
      foreach(preg_split("/((\r?\n)|(\r\n?))/", $seasonal_price) as $line){ 
       // Only add to array for lines with content 
       if(trim($line)!="") $lines[] = $line; 
      } 

      // Seasonal Price #1 
      preg_match('/(\$[0-9,]+(\.[0-9]{2})?)/', $lines[0], $match); 
      $dollar_amount0 = $match[1]; 

      // Seasonal Price #2 
      preg_match('/(\$[0-9,]+(\.[0-9]{2})?)/', $lines[1], $match); 
      $dollar_amount1 = $match[1]; 

      // Seasonal Price #3 
      preg_match('/(\$[0-9,]+(\.[0-9]{2})?)/', $lines[2], $match); 
      $dollar_amount2 = $match[1]; 

      // Seasonal Price #4 
      preg_match('/(\$[0-9,]+(\.[0-9]{2})?)/', $lines[3], $match); 
      $dollar_amount3 = $match[1]; 
      ?> 

      <span class="head"><br/><i class="fa fa-money"></i> Seasonal Price: </span><span class="text-lg lh1em"><?=$dollar_amount0;?></span> 

      <span class="head"><br/><i class="fa fa-money"></i> Seasonal Price: </span><span class="text-lg lh1em"><?=$dollar_amount1;?></span> 

      <span class="head"><br/><i class="fa fa-money"></i> Seasonal Price: </span><span class="text-lg lh1em"><?=$dollar_amount2;?></span> 

      <span class="head"><br/><i class="fa fa-money"></i> Seasonal Price: </span><span class="text-lg lh1em"><?=$dollar_amount3;?></span> 


Content from WP/tour 

<strong>Seasonal Price: </strong>Adult: $1,899.00<br /> 

<strong>Seasonal Price: </strong>Adult: $1,499.00<br /> 

<strong>Seasonal Price: </strong>Adult: $1,299.00<br /> 

<strong>Seasonal Price: </strong>Adult: $1,699.00<br /> 

<strong>Apr- May Price: </strong>Adult: $2,999.00 Children: $2,249.00 <br /> 

<strong>Nov - 15 Dec:</strong> Adult: $3,199.00 Children: $2,3990 <br /> 

<strong>Jan - March Price:</strong> Adult: $3,399.00 Children: $2,549.00 <br /> 

<strong>Jun - Oct; 15-31 Dec Price: </strong>Adult: $4,799.00 Children: $3,599.00 <br /> 

結果:

enter image description here

+0

'$ array [] = $ line;' – Barmar

+0

我就是這樣,它是7月4日=) – unixmiah

回答

1

很難知道你在問什麼,但這裏有一個嘗試可能會激發你偶然發現解決方案。

<?php 

$html = '<strong>Apr- May Price: </strong>Adult: $1,999.00 Children: $1,249.00 <br /> 

<strong>Nov - 15 Dec:</strong> Adult: $2,299.00 Children: $1,725.00 <br /> 

<strong>Jan - March Price:</strong> Adult: $2,599.00 Children: $2,249.00 <br /> 

<strong>Jun - Oct; 15-31 Dec Price: </strong>Adult: $2,999.00 Children: $2,249.00 <br />'; 

$lines = array(); 

foreach(preg_split("/((\r?\n)|(\r\n?))/", $html) as $line){ 
    // Only add to array for lines with content 
    if(trim($line)!="") $lines[] = $line; 
} 

// Print each line as its own array element 
print_r($lines); 
相關問題