如何在html代码中查找字符串

时间:2013-05-14 13:56:08

标签: php string

我正在尝试从html部分找到一个字符串

实施例

<div class="container" data-id="Youtube" style="height:100%;width:100%;border:none;">
<div class="inner"></div>

通常我们会找到一个使用

的字符串
if(strpos($string,"YouTube") !== false)

但是对于示例测试我试图将html代码存储到php变量

$string="<div class="container" data-id="Youtube" style="height:100%;width:100%;border:none;">
    <div class="inner"></div>";

当我尝试在$ string中找到 youtube 时,它总是返回false(不存在)

任何人都可以帮我在HTML代码中找到字符串 谢谢

6 个答案:

答案 0 :(得分:3)

尝试:

if(strpos($string,"Youtube") !== false)

如果这是您的问题,请使用stripos()表示不区分大小写。

答案 1 :(得分:3)

在这里使用单引号

$string='<div class="container" data-id="Youtube" style="height:100%;width:100%;border:none;">
<div class="inner"></div>';

还使用stripos来区分大小写

if(stripos($string,"YouTube") !== false)

答案 2 :(得分:1)

尝试用简单的引号包装你的html:

$string = '<div class="container" data-id="Youtube" style="height:100%;width:100%;border:none;">
    <div class="inner"></div>';

答案 3 :(得分:1)

尝试使用if(strpos(strtolower($string),"youtube") !== false)

我总是使用strtolower()来避免类似的问题。

答案 4 :(得分:1)

我为你做了这个简单的测试....它正在我的localhost上工作:

<?php

    $string="<div class='container' data-id='Youtube' style='height:100%;width:100%;border:none;'><div class='inner'></div>";
    $search = "Youtube";
    if(strpos($string, $search) !== false)
    {
        echo "Found";
    }
    else
    {
        echo "Not found";
    }

    ?>

答案 5 :(得分:1)

您可以像

一样使用xpath + dom对象
class CeiXML extends SimpleXMLElement
{

    public static function asHTML($xml)
    {
        $ele = dom_import_simplexml($xml);
        $dom = new DOMDocument('1.0', 'utf-8');
        $element = $dom->importNode($ele, true);
        $dom->appendChild($element);
        return $dom->saveHTML();
    }

}

$html = '
    <body>
        <div class="container" id="Youtube" style="height:100%;width:100%;border:none;"></div>
        <div class="inner"></div>
     </body>';
$xml = simplexml_load_string($html);
$tags = $xml->xpath('//body/div[@id="Youtube"]');

$string = CeiXML::asHTML($tags[0]);

我希望能帮到你