Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 确定字符串是出现在html内容对象的前100个还是最后100个文本节点字符中_Php_Xpath - Fatal编程技术网

Php 确定字符串是出现在html内容对象的前100个还是最后100个文本节点字符中

Php 确定字符串是出现在html内容对象的前100个还是最后100个文本节点字符中,php,xpath,Php,Xpath,给定html内容块中的“我的搜索短语”文本字符串,如何确定该字符串是否出现在文档的前100个或最后100个非基于标记的字符中?(不计算html标记,仅计算文本节点) 例如,这将返回true 此html文本块包含我的搜索短语,因为它出现在内容的前100个字符中 您如何确定字符串 出现在前100个或最后100个范围内 系统的100个非基于标记的字符 文件 在没有任何“非基于标记的字符”定义的情况下,我假设这些是文档字符串值的任何字符:string(/) 因此: contains(substring(

给定html内容块中的“我的搜索短语”文本字符串,如何确定该字符串是否出现在文档的前100个或最后100个非基于标记的字符中?(不计算html标记,仅计算文本节点)

例如,这将返回true

此html文本块包含我的搜索短语,因为它出现在内容的前100个字符中

您如何确定字符串 出现在前100个或最后100个范围内 系统的100个非基于标记的字符 文件

在没有任何“非基于标记的字符”定义的情况下,我假设这些是文档字符串值的任何字符:
string(/)

因此:

contains(substring(/,1,100),'my search phrase')
contains(substring(/, string-length(/)-99),'my search phrase')
当文档字符串值的前100个字符包含字符串“我的搜索短语”时,返回
true()

类似地

contains(substring(/,1,100),'my search phrase')
contains(substring(/, string-length(/)-99),'my search phrase')
当文档字符串值的最后100个字符包含字符串“我的搜索短语”时,返回
true()

因此:

  contains(substring(/,1,100),'my search phrase')
or
  contains(substring(/, string-length(/)-99),'my search phrase')

返回
true()
文档字符串值的第一个或最后100个字符何时包含字符串
“我的搜索短语”

查看我的答案以获得完整详细的解决方案。包括标题还是仅在正文文本节点中?是否应考虑空格?实际上,仅在正文中,我会将html作为一个文本加载到内存中文档正文的子集。它是WordPress的“post”对象,用ID=“content”括在一个div中。如果我的字符串包含在变量$myString中,我如何测试示例中的contains方法?$myString.contains(substr(/,1100),'my search phrase')使用PHP?@scott-b:只需将
“/”
替换为
“$myString即可“
在我答案中的表达式中无处不在。