PHP:strpos不返回带有撇号(')的结果

时间:2017-06-13 15:34:20

标签: php strpos

我正在做一个小应用程序,它将解析PDF文件并返回一些内容。

以下是pdf文件内容的一部分

  

Nous publions ci-dessous par profession profession les candidat-es quiontréussil'examen partiel,l'examen de fin d'apprentissage,l'examendematuritéprofessionalnelleouobtenu le titre par validation des acquis.Cette listeestomplétéeau furetàmesuredelaréceptiondesésdesats.Lescanditat-es en situation d'échecsontavisé-es personnellement et ils / elles ne sontpastakené-es ci-dessous.AGENT-E D'EXPLOITATION CFCAGENT-E EN INFORMATION DOCUMENTAIRE CFCAIDE EN SOINS ET ACCOMPAGNEMENT AFP

有工作名称(AGENT-E D'EXPLOITATION CFC,AGENT-E EN信息文件CFC,......)

我已经完成了所有的工作,并与他们一起制作了一个阵列,就像135个工作。然后,我想做一个strpos()来获得工作的起始位置。问题,它没有给我带来包含撇号的工作。

这是我的代码的一部分

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>";

这是结果

  

METIER 1:

     

METIER 1.2:

     

METIER 2:458

编辑:问题解决了,pdf解析器的输出已损坏,我只需要做一个str_replace(),现在一切都好了!

谢谢大家。

2 个答案:

答案 0 :(得分:1)

我已经使用file_put_contents()将我的$ texte变量(来自pdfparser的变量)的内容写入.txt文件。打开后,问题很明显。它取代了所有的&#39;具有字母数字值。

我无法从firefox中看到问题,因为它正在解释这个值,并向我显示了一个&#39;。

我只需要对我的字符串执行str_replace(),这一切都很好。

谢谢大家的帮助!

答案 1 :(得分:0)

这是有效的,使用双引号字符串而不是带有转义符的单个quouted字符串

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>";

结果

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

这对我也有用

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;

结果

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