正则表达式双引号和html标签

时间:2017-07-27 13:57:04

标签: php regex symfony

我从csv文件中读取数据。并将其写入字符串,现在需要对这些数据进行分类。

  if (($handle = fopen($_FILES['app_bundle_upload_type']['tmp_name']['file'], "r")) !== FALSE) {
      while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
           $num = count($data);
           $row++;
           for ($c=0; $c < $num; $c++) {
               $result.= $data[$c] . "<br />\n";
           }
      }
 }

如何正确使用Regex对此类数据进行分组。我关心“”里面的一切。我试过regex ='/"(.*?)"/s';但无法逃避其他报价中的双引号。我该怎么办 ?而且还有这整个html数据,我现在还没有这样做。

那是我的字符串

  

1;“admin_loginIncorrect”;“Podanehasłojestnieprawidłowe”;“1”;“0”   2; “admin_logOut”; “Wyloguj”; “1”, “0”   3786;“tutorial_text_3”;“Wenn Sie   ein ProduktkaufenmöchtendessenPreis Sie soeben aufgedeckt haben   tun Sie es schnell und klicken Sie auf “”kaufen“” - Siehabendafür   20 Sekunden。 Siekönnenaber eine Stunde oder einen Tag warten um zu   sehen ob der Preis nochweiterfällt。 Das Aufdecken des Preises von   anderen Benutzern reduziert den Preis kontinuierlich weiter。 Denken   Sie jedoch daran dass wenn Sie zu lange warten jemand wird schneller   sein als Sie!。 ; 5“;”0“3914;”auction_desc_22297“;”MacBook 12“256GB - 太空灰色
256GBpamięcimasowejflashzmagistraląPCIe   napłyciegłównejDwurdzeniowyprocessorIntelCore   m3 1,1 GHzTurbo Boost执行2,2 GHz8GBpamięci   RAMIntel HD Graphics 515
Zawartość   opakowaniaMacBookZasilacz USB-C o mocy29WPrzewódzasilającyUSB-C(2 m)
Cena zawierakosztprzesyłki。“'”5“;”0“

@EDIT 我开始的方式不对。使用正则表达式是复杂的任务。感谢fgetcsv我可以轻松实现这一目标

 if (($handle = fopen($fileName, "r")) !== FALSE) {

while (($data = fgetcsv($handle)) !== FALSE) { .... }}

它逐行读取并将其返回数组

$数据[$ i]于

1 个答案:

答案 0 :(得分:0)

试试这个:

<?php

    $string = '1;"admin_loginIncorrect";"Podane hasło jest nieprawidłowe";"1";"0" 2;"admin_logOut";"Wyloguj";"1";"0" 3786;"tutorial_text_3";"Wenn Sie ein Produkt kaufen möchten dessen Preis Sie soeben aufgedeckt haben tun Sie es schnell und klicken Sie auf ""kaufen"" - Sie haben dafür 20 Sekunden. Sie können aber eine Stunde oder einen Tag warten um zu sehen ob der Preis noch weiter fällt. Das Aufdecken des Preises von anderen Benutzern reduziert den Preis kontinuierlich weiter. Denken Sie jedoch daran dass wenn Sie zu lange warten jemand wird schneller sein als Sie!. ;5";"0" 3914;"auction_desc_22297";"MacBook 12" 256GB - Space Gray
    256 GB pamięci masowej flash z magistralą PCIe na płycie głównejDwurdzeniowy procesorIntel Core m3 1,1 GHzTurbo Boost do 2,2 GHz8 GB pamięci RAMIntel HD Graphics 515
    Zawartość opakowaniaMacBookZasilacz USB-C o mocy 29 WPrzewód zasilający USB-C (2 m)
    Cena zawiera koszt przesyłki."\'"5";"0"';

    $regex = '#"(?<quotes>[^"]*)"#';

    preg_match_all($regex, $string, $matches);

    var_dump($matches['quotes']);

请在此处查看:https://3v4l.org/8Z8J5