Je ne suis pas le meilleur à PHP et serait très reconnaissant si quelqu'un pouvait aider. Fondamentalement, j'ai besoin d'analyser chaque ligne d'un flux de données et juste obtenir chaque bit d'information entre chaque "|" - Alors je peux l'ajouter à une base de données. Je pense que je peux gérer obtenir les informations à partir entre le « | » s 'en utilisant exploser mais je besoin d'un peu d'aide avec l'analyse syntaxique de chaque ligne d'un fichier texte en tant que singulier. Enfait pour le rendre encore plus simple, j'ai juste besoin d'utiliser chaque ligne d'une variable, je vais soumettre le contenu à la variable en utilisant une zone de texte et un formulaire. Toute aide serait grandement appréciée!A Data Feed Parsing
Répondre
Vous pouvez lire un fichier dans un tableau de lignes et faire tout le partage avec:
$lines = file("filename");
foreach($lines as $line) {
$parts = explode("|", $line);
// do the database inserts here
}
Si vous avez déjà tout le texte dans une variable que vous avez dit (par exemple, avec quelque chose comme file_get_contents()), vous pouvez exploser sur \ n d'abord, puis faire la même chose pour chaque instruction que ci-dessus.
Si vous lisez sur votre poste textarea, vous pouvez utiliser la fonction exploser en utilisant le caractère de saut de ligne comme séparateur pour obtenir chaque « ligne » dans la variable en tant que nouvel élément d'un tableau, alors vous pouvez faire exploser sur vos éléments de tableau.
à savoir
$sometext = "balh | balh blah| more blah \n extra balh |some blah |this blah";
$lines = explode("\n", $sometext);
foreach($lines as $oneLine)
{
$lineElements[] = explode("|", $oneLine);
}
alors vous avez un tableau 2D de vos elems.
Si vous lisez sur un fichier, vous pouvez simplement utiliser la fonction de fichier documenté ici:
http://us2.php.net/manual/en/function.file.php
pour obtenir chaque ligne du fichier comme un élément d'un tableau.
@ zuk1: Cela fonctionnera si vous ne lisez pas réellement un fichier. –
Vous pouvez utiliser explode pour obtenir les deux:
$myFile = "File.txt";
$fh = fopen($myFile, 'r');
$data = fread($fh);
fclose($fh);
$newLines = explode("\n",$data);
foreach($newLines as $s)
{
$parsed = explode("|",$s);
foreach($parsed as $item)
{
// do your db load here
}
}
Il y a une bibliothèque PHP analyse prêt à l'emploi qui peut détecter automatiquement le format CSV.
Exemple:
$reader = new Dfp_Datafeed_File_Reader();
$reader->setLocation('test.csv');
foreach ($reader AS $record) {
print_r($record);
}
Il est disponible pour télécharger here, et il y a une documentation here.
- 1. Parsing Last.fm feed sur le site Web en utilisant PHP
- 2. Parsing XML en C#
- 3. PHP Xml Attribute Parsing
- 4. Parsing alimentation Problème Atom avec jQuery
- 5. Django RSS Feed Problèmes
- 6. RSS Feed Stocks
- 7. FTSE Price Feed
- 8. Parsing XMLList
- 9. jquery autocomplete question sur les données feed
- 10. RSS Feed Trouble w/Linq
- 11. Array PHP Parsing
- 12. Django RSS Feed Mauvais domaine
- 13. parsing XML Jquery
- 14. parsing XML dans Jquery
- 15. IE7 manquant Atom feed autodiscovery
- 16. Bash text parsing golf
- 17. PHP XML Parsing
- 18. Rectangles & Parsing dans vb.net
- 19. numéros Parsing de chaînes dans Lisp
- 20. HTML Parsing Bibliothèques pour
- 21. jQuery XML Parsing/Traversant
- 22. Parsing en PHP
- 23. Expression parsing: comment tokenize
- 24. Java XML Parsing
- 25. PHP Parsing cas de sensibilité
- 26. Ressource imbriquée avec Atom Feed Helper
- 27. C# HTML police Tag Parsing
- 28. et recherche Parsing Le formatage
- 29. Parsing Balises personnalisées avec Ruby
- 30. XML Parsing l'aide de JavaScript
@ zuk1: Cela fonctionnera si vous lisez un fichier réel. –