确定字符串是否出现在html内容对象的前100个或前100个文本节点字符中

时间:2010-10-30 19:28:25

标签: php xpath

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

示例,这将返回true ...

< p>此html文本块包含< b>我的搜索词组< / b>,因为它出现在内容的前100个字符中。< / p>

1 个答案:

答案 0 :(得分:2)

  

你将如何确定字符串   出现在前100或最后   100个基于非标签的字符   文件?

如果没有“非基于标签的字符”的任何定义,我认为这些是文档字符串值的任何字符:string(/)

<强>因此

contains(substring(/,1,100),'my search phrase')
当文档字符串值的前100个字符包含字符串true()时,

会准确返回'my search phrase'

<强>类似地

contains(substring(/, string-length(/)-99),'my search phrase')
当文档的字符串值的最后100个字符包含字符串true()时,

返回'my search phrase'

因此:

  contains(substring(/,1,100),'my search phrase')
or
  contains(substring(/, string-length(/)-99),'my search phrase')
当文档字符串值的第一个或最后100个字符包含字符串true()时,

会准确返回'my search phrase'