2012-02-08 55 views
2

我想從數據庫中獲取一些數據作爲文本usnig php存儲。 該文本可以是純文本/或html文本。從數據庫中使用php獲取HTML文本

我想從數據庫檢索的文本中獲取以下字段:城市,州,國家。 這裏是例如文本可能看起來像

country :- US 
state :- Washington 
city :- Bellingham 

<table> 
<tr><td>country </td><td>US</td></tr> 
<tr><td>state</td><td>Washington</td></tr> 
<tr><td>city</td><td>Bingen</td></tr> 
</table> 

或相同的div標籤

我已經爲純文本來完成。 我發現這很容易,因爲我發現linebreak(線的末尾)和修剪文本的其餘部分,除了要求的東西

但在HTML的情況下,我面臨的問題,如何處理HTML文本。由於沒有換行符。不知道什麼,如果我使用要做到這一點的最好辦法用strip_tags它返回同一行即國家所有文字美國國務院華盛頓

+1

我不太清楚你想要的結果是什麼。 – 2012-02-08 07:59:06

+1

使用正則表達式,只是谷歌它。 – tim 2012-02-08 08:01:38

回答

2

你就不能這樣做,而不是HTML解析

$input = "<table><tr><td>country </td><td>US</td></tr><tr><td>state</td><td>Washington</td></tr><tr><td>city</td><td>Bingen</td></tr></table>"; 

$needle = array("<table>", "<tr><td>","</td<td>", "</td</tr>", "</table"); 
$replacements = array("","",":-","\n",""); 
$output = str_replace($needle, $replacements, $input); 

這一些文字處理會給你一樣的文字輸入。

+0

感謝您的快速響應幸運地我設法做到這一點使用相同的方法:)但謝謝你的確認,你可以幫助我的div結構? – user930026 2012-02-08 09:08:05

2

當你存儲DATABSE HTML編碼使用它們HTML_entities(),然後顯示它們使用html_entity_decode()

<?php 
$orig = "I'll \"walk\" the <b>dog</b> now"; 
$a = htmlentities($orig); 
$b = html_entity_decode($a); 
echo $a; // I'll &quot;walk&quot; the &lt;b&gt;dog&lt;/b&gt; now 
echo $b; // I'll "walk" the <b>dog</b> now 
?> 
相關問題