【发布时间】:2011-12-07 16:20:09
【问题描述】:
嗨,我遇到了我的提要功能问题,我的 xml 中有描述标签,里面是 html 代码。现在 php 将 HTML 标签视为其他 xml 标签并制作更多数组。如何阻止它从 HTML 标签中创建数组? 例如。
<description>
<h3>Some text</h3>
</description>
its out putting
array['description'] => array['h3'] => "someText"
PHP 代码:
public function merchant_import_wahanda(){
if (!$this->session->userdata('logged_in')){
redirect('admin/login');
}
$data['pageTitle'] = 'Merchant Admin';
$data['error_warning'] = '';
$data['success'] = '';
$xmlfile= 'http://www.wahanda.com/rss/mobdeal.xml';
$xmlRaw = file_get_contents($xmlfile);
$this->load->library('xml');
$xmlData = $this->xml->xml_parse($xmlRaw);
$this->load->model('admin/Deals_model', 'Deals');
$this->load->model('admin/Cities_model', 'Cities');
$this->load->model('admin/Partners_model', 'Partners');
//Get City ID
foreach($xmlData["channel"]["item"] as $product){
$cityName[] = $product['w:location']["@content"];
}
$cities = array_unique($cityName);
foreach ($cities as $city){
if(!$this->Cities->getCityByName($city)){
$this->Cities->addFeedCity($city);
}
}
//Get Partner ID
foreach($xmlData["channel"]["item"] as $product){
$partnerName[] = $product['w:venues']['w:venue']['w:name'];
}
$partners = array_unique($partnerName);
foreach ($partners as $partner){
if(!$this->Partners->getPartnerByName($partner)){
$this->Partners->addFeedPartner($partner);
}
}
foreach($xmlData["channel"]["item"] as $product){
$cityID = $this->Cities->getCityByName($product['w:location']["@content"]);
$partnerID = $this->Partners->getPartnerByName($product['w:venues']['w:venue']['w:name']);
$deals[] = array(
'dealTitle' => $product['title'],
'price' => $product['w:price'],
'image' => $product['w:hiResImageLink'],
'buyLink' => $product['link'],
'startDate' => $product['w:startDate'],
'endDate' => $product['w:endDate'],
'partner' => $partnerID['partner_id'],
'city' => $cityID['city_id'],
'description' => $product['description'],
'RRP' => $product['w:rrp'],
'discount' => $this->getDiscount($product['w:price'], $product['w:rrp'])
);
}
?><pre><?php var_dump($deals); ?></pre><?php
foreach($deals as $deal){
$this->Deals->importWahanda($deal);
}
}
XML 描述示例:
<description>
<a id="Wahanda_loves" name="Wahanda_loves"></a><h3>Wahanda loves</h3>
<p>If you're fed up of shaving and can't bear the pain of waxing then remove hair the easy way with this course of IPL hair removal. It works by using beams of light to damage the hair follicle, meaning after a course of treatment you'll be hair-free for longer. Five sessions will catch the hair in each stage of the growth cycle so your skin will stay silky-smooth and fuzz-free for longer.</p>
<a id="What.27s_in_it_for_you.3F" name="What.27s_in_it_for_you.3F"></a><h3>What's in it for you?</h3>
<ul>
<li>Five IPL Sessions on <b>one</b> of the following areas:
<ul>
<li>Lip and Chin</li>
<li>Bikini Line</li>
<li>Underarm</li></ul></li></ul>
<ul>
<li>Location: <a href="/place/depicool-leeds/" title="place/depicool-leeds/">DepiCool</a>, Leeds</li>
<li>Available Monday - Saturday</li>
<li><b>Strict voucher limit of 1 per person.</b> May buy multiples as gifts</li>
<li>You will receive an eVoucher valid for one person to print out and take with you.</li>
<li>Voucher valid for 6 months</li>
<li>Cannot be used in conjunction with any other offer. Subject to availability. No cash alternative</li></ul>
<p>You'll get a snazzy pair of goggles to wear during the treatment so your eyes are protected throughout the fifteen minute procedure. DepiCool's therapists are fully qualified and consider your comfort and safety to be the most important part of the treatment process. All staff are trained to be able to answer your questions so you'll be informed at at ease at all times. </p>
<a id="Want_to_buy_this_as_a_gift.3F" name="Want_to_buy_this_as_a_gift.3F"></a><h3>Want to buy this as a gift?</h3>
<p>If you're feeling generous and want to buy this as a gift for someone, don't worry - the voucher won't show the price or discount of the MobDeal if you add a gift message, making it perfect for giving as a gift. All you need to do is choose how many vouchers you'd like to buy at checkout so you can enter each recipient's name on the coupon, then add your message for the lucky recipient.</p></description>
【问题讨论】:
-
添加了相关的代码:) PS所有其他的东西都只是描述,因为它不会让你将数组添加到数据库:)
-
您想将其保留为“纯文本”吗?也许你想试试 CDATA? en.wikipedia.org/wiki/CDATA
-
不想保留 html 标签 :) 感谢回复
标签: php html xml arrays codeigniter