使用html标签搜索字符串

时间:2016-02-02 08:01:52

标签: php html strpos

我在PHP变量中有html内容,我想用它的标签搜索特定的字符串。

假设我的变量是

$var

现在我想搜索inoremap { {<CR>}<ESC>ko中的内容然后它应该返回我的标签,这样我就可以如何

如何使用PHP完成此操作?

任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:3)

使用正则表达式:

$search = 'how';
$var = "<html>Hi.. <strong>how</strong>are <u>you?</u></html>";
preg_match_all('/<[^>]+>'.$search.'<\/[^>]+>/',$var,$matches);
$found = $matches[0][0];
echo $found;

输出:

如何

要获取所有how字符串,包含和不包含标记的字符串,请将正则表达式更改为此字符(添加OR |运算符:

preg_match_all('/<[^>]+>'.$search.'<\/[^>]+>|\b'.$search.'\b/',$var,$matches);

答案 1 :(得分:0)

你想让元素包含你的价值吗?你可以采用xpath方法:

<?php
$var = "<html>Hi.. <strong>how</strong>are <u>you?</u></html>";
$xml = simplexml_load_string($var);
$elements = $xml->xpath("//*[. = 'how']");
# looking for any value in the tree where the text equals 'how'
# giving back an array of found matches
print_r($elements);
?>

请在此处查看ideone.com演示。

答案 2 :(得分:0)

你确定你的问题吗?

如果您想知道您的搜索字符串是否在$ var中,请尝试此操作。

<?php
$var = "<html>Hi.. <strong>how</strong>are <u>you?</u></html>";
$findme = "how";
$pos = strpos($var, $findme);
if($pos === false)
  echo $findme.", Not found.";
else
  echo $findme.", The string found";
?>