2016-11-24 17 views
2

enter image description here削除HTMLタグとHTMLエンティティ

は、どのように私はこれはCSVファイル内のすべての<p><strong>タグを削除することができますか?以下

私のコードの書き込みは

if($v == "description"){ 


       $q[$v] = preg_replace("/&#?[a-z0-9]+;/i","",$q[$v]); 



       } 
+2

'strip_tags()'を使用してください。 – Barmar

+0

@Barmar「strip_tags」はHTMLエンティティでは機能しません。ですから、 'htmlspecialchars_decode'と' strip_tags'の組み合わせを行う必要があります。 –

答えて

1

ないあなたが見せている、$sourceを言って、またあなたがきれいにデータをエクスポートしますどの方法ソースデータを構造化されるかは明らかです。

それが独特の大きな文字列だと仮定すると、あなたは、単にこれを行うことができます。

$clean_data = strip_tags(html_entity_decode($source)); 

はその後、エクスポートするexplode(PHP_EOL, $clean_data)のようなものを通じて結果を使用することができます。

そうでなければ、それはあなたがその項目を反復処理し、連続的にそれらのそれぞれをきれいにするために、同じ技術を使用することができ、アレイの場合:

foreach ($source as $line) { 
    $clean_line = strip_tags(html_entity_decode($line)); 
    ... export the clean line 
} 
0

あなたは_prepareDownloadResponse()コントローラ機能をオーバーライドして、HTMLタグをエスケープすることができます。この関数は、ファイルのダウンロードに応答してヘッダーとコンテンツファイルを宣言します。

これを行うには、コントローラクラスMage_Adminhtml_Sales_OrderControllerを次のように書き直し/上書きする必要があります。

アプリ/コード/ローカル/名前空間/モジュールの/ etc/config.xmlに

<?xml version="1.0" encoding="UTF-8"?> 
<config> 

    ... 

    <admin> 
     <routers> 
      <adminhtml> 
       <args> 
        <modules> 
         <Namespace_Module before="Mage_Adminhtml">Namespace_Module_Adminhtml</Namespace_Module> 
        </modules> 
       </args> 
      </adminhtml> 
     </routers> 
    </admin> 

    ... 

</config> 

名前空間/モジュール/コントローラ/ Adminhtml /販売/ OrderController /アプリ/コード/ローカル。あなたが見ることができるようにPHP

<?php 

    require_once "Mage/Adminhtml/controllers/Sales/OrderController.php"; 

    class Namespace_Module_Adminhtml_Sales_OrderController extends Mage_Adminhtml_Sales_OrderController 
    { 
     /** 
     * Declare headers and content file in response for file download 
     * 
     * @param string $fileName 
     * @param string|array $content set to null to avoid starting output, $contentLength should be set explicitly in 
     *        that case 
     * @param string $contentType 
     * @param int $contentLength explicit content length, if strlen($content) isn't applicable 
     * @return Mage_Core_Controller_Varien_Action 
     */ 
     protected function _prepareDownloadResponse(
      $fileName, 
      $content, 
      $contentType = 'application/octet-stream', 
      $contentLength = null) 
     { 

      ... 

      if (!is_null($content)) { 
       if ($isFile) { 

        ... 

        // strip tags from data 
        while ($buffer = strip_tags($ioAdapter->streamRead())) { 
         print $buffer; 
        } 

        ... 

       } else { 
        $this->getResponse()->setBody($content); 
       } 
      } 
      return $this; 
     } 
    } 

strip_tagsは前にHTMLタグを取り除くために使用されていますバッファ変数に代入する。

希望すると助かります。

関連する問題