我需要从列表中获取元素,通过$post->post_content
它的输出是:
Sportpaleis Antwerpen 25/02/2012 Sioen De Zwerver leffinge 24/03/2012 Nathan The zydeco Cha-Chas n9 Eeklo 24/03/2012 Kraantje Pappie Nijdrop Opwijk 24/03/2012 Eigen Makelij Hof Ter Loo安特卫普26/03/2012测试 testPura vida Sportpaleis Antwerpen 25/02/2012 Sioen De Zwerver leffinge 24/03/2012 Nathan The zydeco Cha-Chas n9 Eeklo 24/03/2012 Kraantje Pappie Nijdrop Opwijk 24/03/2012 Eigen Makelij Hof Ter Loo 安特卫普26/03/2012
我需要找到一种方法在这个列表中分别得到每一段文字。我可以把它们放在div id之间吗?我将如何解决这些div?关键是我需要将此内容导出到xml。我可以将内容放在xml中,但问题是将这个html文本转换为单独的变量,所以我可以将em放在这些标记之间示例: HTML
<p id="artist">Sioen</p>
<p id="location">De Zwerver leffinge</p>
<p id="date>24/03/2012</p>
应该成为:(xml)
<concerts>
<concert>
<artist>Sioen</artist>
<location>De zwerver leffinge</location>
<date>24/03/2012</date>
</concert>
.....
</concerts>
由于评论表明我应该在某种结构中使用<p id=""> </p>
的值使用var_dump而输出为
Sioen De Zwerver leffinge 24/03/2012 ...
答案 0 :(得分:1)
它的输出是:
如果输出字面意思是你所说的,那是不可能的。我的意思是,我知道“Kraantje Pappie Nijdrop Opwijk”意味着艺术家是“Kraantje Pappie”,位置是“Nijdrop Opwijk”,但那是因为我是荷兰人,我碰巧喜欢“Kraantje Pappie”。大多数人甚至不知道在哪里拆分字符串,那么你想怎么告诉你的电脑怎么做?
如果结果来自数据库,也许你可以用不同的方式请求它?
<强>更新强>:
由于评论表明我应该在某种结构中使用
<p id=""> </p>
的值使用var_dump而输出为
这些换行改变了一切。您现在可以在假设字符串中存在模式的情况下操作:艺术家,休息,位置,休息,日期,休息。如果有模式,您可以使用它。假设这是一种你总是得到的格式,你可以很简单地做到这一点:
<?php
$output = 'Sioen
De Zwerver leffinge
24/03/2012
Nathan
The zydeco Cha-Chas n9 Eeklo
24/03/2012
Kraantje Pappie
Nijdrop Opwijk
24/03/2012';
/**
* Remove empty lines.
*/
$lines = array_map( 'trim', array_filter( explode( "\n", $output ) ) );
/**
* This is for saving the values temporarily.
*/
$i = 0;
$entries = array( );
$current = array( );
/**
* Loop through all the entries.
*/
foreach( $lines as $line ) {
/**
* Add the current line to the current entry.
*/
$current[] = $line;
/**
* If $i == 2, that was the date. Add $current to the stack, and reset it's contents.
*/
if( $i ++ === 2 ) {
$entries[] = $current;
$current = array( );
$i = 0;
}
}
/**
* Build XML root.
*/
$concerts = new SimpleXmlElement( '<concerts></concerts>' );
/**
* Append each entry as a concert.
*/
foreach( $entries as $entry ) {
$concert = $concerts->addChild( 'concert' );
$concert->addChild( 'artist', array_shift( $entry ) );
$concert->addChild( 'location', array_shift( $entry ) );
$concert->addChild( 'date', array_shift( $entry ) );
}
/**
* Output, finally.
*/
var_dump( $concerts->asXml( ) );
这导致以下输出:
<?xml version="1.0"?>
<concerts>
<concert>
<artist>Sioen</artist>
<location>De Zwerver leffinge</location>
<date>24/03/2012</date>
</concert>
<concert>
<artist>Nathan</artist>
<location>The zydeco Cha-Chas n9 Eeklo</location>
<date>24/03/2012</date>
</concert>
<concert>
<artist>Kraantje Pappie</artist>
<location>Nijdrop Opwijk</location>
<date>24/03/2012</date>
</concert>
</concerts>
答案 1 :(得分:0)
如果您需要将内容放入带有数字ID的div中,例如
<div id='1'>Sportpaleis-Antwerpen-25/02/2012</div>
<div id='2'>Sioen-De Zwerver leffinge-24/03/2012</div>
现在当你获得数据时,使用php函数html_entity_decode
通过php函数找到文本中的总div,然后循环它们以获得结果。
你可以将它们分开 - 得到一个div的三个不同部分。