Can';在php的文本文件中找不到带引号的单词
我有一个文本文件,我想检查该文件是否包含字符串Can';在php的文本文件中找不到带引号的单词,php,Php,我有一个文本文件,我想检查该文件是否包含字符串wor“dddddd。假设这是文本文件的内容: ...,sometext,moretext,wor"dddddd,867767,3468647,sometext,... 这是我的代码,我不知道为什么它不工作(打印8而不是3): 这里有一些错误 首先,在字符串中 $id='wor\"dddddd'; 您不需要在单个带引号的字符串中转义“。因此,您正在尝试查找'wor\'dddddddd'而不是'wor'dddddddd'。很明显,这不会发生 下一个
wor“dddddd
。假设这是文本文件的内容:
...,sometext,moretext,wor"dddddd,867767,3468647,sometext,...
这是我的代码,我不知道为什么它不工作(打印8而不是3):
这里有一些错误
首先,在字符串中
$id='wor\"dddddd';
您不需要在单个带引号的字符串中转义“
。因此,您正在尝试查找'wor\'dddddddd'
而不是'wor'dddddddd'
。很明显,这不会发生
下一个错误来自使用htmlspecialchars
此函数将把引号转换为html实体,因此您将使用wor“dddddd
而不是wor”ddddddd
。同样,当您有wor”dddddd
时,您可以找到wor”ddddddd
因此,解决方案是:
$id = 'wor"dddddd';
$content= file_get_contents("file.txt");
// following lines remain unchanged
奖励:您可以用一行替换循环$split
:
$pos = array_search($id, $split);
这里有一些错误
首先,在字符串中
$id='wor\"dddddd';
您不需要在单个带引号的字符串中转义“
。因此,您正在尝试查找'wor\'dddddddd'
,而不是'wor'dddddddd'
。显然,这不会发生
下一个错误来自使用htmlspecialchars
此函数将把引号转换为html实体,因此您将拥有wor“ddddddd
而不是wor”ddddddd
。同样,当您拥有wor“ddddddd
时,您可以找到wor”ddddddddd
因此,解决方案是:
$id = 'wor"dddddd';
$content= file_get_contents("file.txt");
// following lines remain unchanged
奖励:您可以用一行替换循环$split
:
$pos = array_search($id, $split);
不需要在单个qouted字符串中转义“
。不需要在单个qouted字符串中转义”
。