2012-02-08 47 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 
?>