[php] in rare string zoeken naar substring

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Gertjan
  • Registratie: Oktober 2001
  • Laatst online: 09-09 17:11

Gertjan

mmmm, beer...

Topicstarter
ik ben bezig om met php+mysql een systeempje te maken dat de logs van de printer parsed en een webpagina uitpoept waarop je kan zien hoeveel iedereen geprint heeft. nu moet er in de database ook de documentnaam komen te staan. De documentnaam komt in logs voor in een hele rare string, die niet altijd helemaal hetzelfde is. Hij ziet er ongeveer zo uit:
code:
1
2
3
.........G..attributes-charset..utf-8H..attributes-natural-language..en-usE..printer-uri..http://ipadres:poort/padnaarprinter/flatprinterB..job
-name..Microsoft Word - Document1.B..job-originating-user-name..xxxxxI..document-format..application/postscript!..job-priority.....2B..job-ori
ginating-host-name.

(Voor de duidelijkheid: dit staat allemaal op 1 regel!)

Op een gegeven moment komt er dus 'job-name' in voor, gevolgd door 2 willekeurige tekens, dan de jobname die ik dus wil hebben, gevolgd door '.B' en een heleboel rommel. Hoe kan ik nu het beste die jobname eruit halen? Ik heb het geprobeerd met strtok en split, maar dat werkt niet goed. Misschien dat het een beter idee is om het met reguliere expressies te doen, maar daar heb ik met php geen ervaring mee. Zou iemand me een voorzetje kunnen geven over hoe ik dit het beste aan kan pakken?_/-\o_

Acties:
  • 0 Henk 'm!

  • jlrensen
  • Registratie: Oktober 2000
  • Laatst online: 00:04

jlrensen

plaatjes vullen geen gaatjes

kun je de string niet splittsen op "job", en van de geproduceerde array [1] nemen, en met substring de eerste 7 chars eraf halen?

Men moet het denken bijbrengen, niet wat al gedacht is. ~C. Gurlitt


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

regular expressions zijn je vrienden.

www.php.net/pcre bijv.

Acties:
  • 0 Henk 'm!

  • Sn3akz
  • Registratie: November 2000
  • Laatst online: 05-08 13:55
PHP:
1
2
3
$string = explode("job-name", $originele_string);
$string = explode(".B", $string[1]);
$string = substr($string[0], 2)


Even vlug.. voor de rest is het prima te vinden in de manual...

Acties:
  • 0 Henk 'm!

  • Gertjan
  • Registratie: Oktober 2001
  • Laatst online: 09-09 17:11

Gertjan

mmmm, beer...

Topicstarter
Yo Sn3akz, thnx! Hij is nog niet perfekt zo, maar zoals hij nu is kan ik er wel wat mee!

Krijg nu als output:
code:
1
Microsoft Word - Document1Bjob-originating-user-nameHorusIdocument-formatapplication/postscript! job-priority2Bjob-originating-host-name

Die blokjes zijn in werkelijkheid vierkantjes: , volgens mij kan ik hier nog wel een extra explode regel van maken, met de ascii code uit de output ...