2017-06-13 3 views
1

Ich bin eine kleine Einführung zu tun, die eine PDF-Datei analysieren werden und einige glückliche Rückkehr.PHP: strpos nicht zurück mit Apostroph führen (‚)

Hier ist ein Teil des Inhalts der PDF-Datei

Wir von Beruf unten veröffentlichen die Kandidaten, die die Teilprüfung bestanden haben, die Abschlussprüfung des Lernens, Prüfung der Reife professionnelleou den Titel durch Validieren acquis.Cette Liste erhalten wird abgeschlossen, wie und wann der Kandidat in einer Situation des Scheiterns erhalten, sind geraten résultats.Les es persönlich, und sie sind nicht erwähnt -es unten dessous.AGENT-E-E CFCAGENT BETRIEB IN INFORMATION UND DOKUMENTARFILM CFCAIDE CARE SUPPORT AFP

Es gibt Jobnamen (AGENT-E BETRIEBS CFC-E AGENT IN HINTERGRUNDINFORMATIONEN FCKW, ...)

ich alle Jobs Nahm habe und machte eine Reihe mit ‚em, so etwas wie 135 Arbeitsplätze. Und dann würde Ich mag tun strpos(), um die Ausgangsposition des Jobs zu bekommen. Problem, die es zurückgab, mich nicht um den Job mit einem Gehalt einen Apostroph.

Hier ist ein Teil meines Codes

echo "METIER 1 : " . strpos($texte, 'AGENT-E D\'EXPLOITATION CFC') . "</br>"; 
echo "METIER 1.2 : " . strpos($texte, "AGENT-E D'EXPLOITATION CFC") . "</br>"; 
echo "METIER 2 : " . strpos($texte, "AGENT-E EN INFORMATION DOCUMENTAIRE CFC") . "</br>"; 

Und hier ist das Ergebnis

JOB 1:

BUSINESS 1.2

BUSINESS 2: 458

EDIT: Problem gelöst wurde die Ausgabe aus dem PDF-Parser beschädigt, ich str_replace nur zu tun hatte(), und es ist jetzt alles gut!

Vielen Dank an alle.

+0

Sie shoulds den Text und die Kopie-Dump.Einige sind nicht dieselben wie auf der englischen Tastatur. Wenn Sie den Text aus dem Internet oder aus dem PDF-Format kopiert haben, sind sie oft nicht so, wie Sie auf der englischen Tastatur tippen. – TurtleTread

+0

http://sandbox.onlinephpfunctions.com/code/f4793627fd02815c0dd5f5a43fa2f14ea7ca5856 funktioniert für mich. Stellen Sie sicher, dass Sie tatsächlich einfache Anführungszeichen erhalten und nicht ein Unicode-Äquivalent, das kein echtes Zitat im ASCII-Sinne ist. – apokryfos

+0

Ich habe versucht, eine var_dump ($ texte) zu erstellen und die '. Funktioniert nicht. Kopiere die 'von der Original-PDF, nicht funktioniert, setzen die' von Hand, nicht funktioniert. Ich arbeite mit einer Schweizer Tastatur, https://github.com/smalot/pdfparser zum Parsen der PDF. – Anywen

Antwort

0

Dies funktioniert, einen doppelten Anführungszeichen Zeichenfolge anstelle eines einzelnen quouted Zeichenfolge mit mit entkommt

echo "METIER 1 : " . strpos($texte, "AGENT-E D'EXPLOITATION CFC") . "</br>"; 
echo "METIER 1.2 : " . strpos($texte, "AGENT-E D'EXPLOITATION CFC") . "</br>"; 
echo "METIER 2 : " . strpos($texte, "AGENT-E EN INFORMATION DOCUMENTAIRE CFC") . "</br>"; 

Ergebnisse

METIER 1 : 408 
METIER 1.2 : 408 
METIER 2 : 434 

Diese aussi für mich arbeitet

echo "METIER 1 : " . strpos($texte, 'AGENT-E D\'EXPLOITATION CFC') . PHP_EOL; 
echo "METIER 1.2 : " . strpos($texte, "AGENT-E D'EXPLOITATION CFC") . PHP_EOL; 
echo "METIER 2 : " . strpos($texte, "AGENT-E EN INFORMATION DOCUMENTAIRE CFC") . PHP_EOL; 

Ergebnis

METIER 1 : 408 
METIER 1.2 : 408 
METIER 2 : 434 
+0

Mein Beispiel ist nicht gut ausgerichtet, aber wie Sie in METIER 1 und METIER 1.2 sehen können, ist es die gleiche Zeichenfolge, aber mit den 2 Optionen geschrieben. EDIT: Ich sehe, dass es für Sie arbeitet, könnte mein PHP 7.0.6 dieses Problem erstellen? Oder ist die Zeichenfolge, die aus dem PDF-Parser kommt, falsch? – Anywen

+0

Scheint, für mich entweder zu arbeiten – RiggsFolly

+0

Vielleicht haben Sie eine geringfügige Beschädigung in Ihrer Codedatei. – RiggsFolly

1

Ich habe die file_put_contents() verwendet den Inhalt meiner Variable $ text zu schreiben in eine .txt-Datei (die aus dem pdfparser kommt). Nach dem Öffnen, war das Problem klar. Es hat all ‚Jahr mit alphanumerischem Wert ersetzt.

Ich konnte nicht das Problem von Firefox sehen, weil es diesen Wert zu interpretieren und hat mir gezeigt.

Ich hatte gerade eine str_replace() auf meinen Tanga zu tun, und es ist alles gut.

Vielen Dank an alle für die Hilfe!