我在PHP变量中有html内容,我想用它的标签搜索特定的字符串。
假设我的变量是
$var
现在我想搜索inoremap { {<CR>}<ESC>ko
中的内容然后它应该返回我的标签,这样我就可以如何
如何使用PHP完成此操作?
任何帮助将不胜感激。
答案 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";
?>