Php 如何在html代码中查找字符串
我正在尝试从html部分查找字符串 范例Php 如何在html代码中查找字符串,php,string,Php,String,我正在尝试从html部分查找字符串 范例 <div class="container" data-id="Youtube" style="height:100%;width:100%;border:none;"> <div class="inner"></div> 但是对于一个示例测试,我试图将html代码存储到一个php变量中 $string="<div class="container" data-id="Youtube" style="heigh
<div class="container" data-id="Youtube" style="height:100%;width:100%;border:none;">
<div class="inner"></div>
但是对于一个示例测试,我试图将html代码存储到一个php变量中
$string="<div class="container" data-id="Youtube" style="height:100%;width:100%;border:none;">
<div class="inner"></div>";
当我试图在$string中查找youtube时,它总是返回FalseNoteExistence
有人能帮我找到html代码中的字符串吗
谢谢你试着用简单的引号来包装你的html:
$string = '<div class="container" data-id="Youtube" style="height:100%;width:100%;border:none;">
<div class="inner"></div>';
尝试:
如果这是您的问题,请将stripos用于区分大小写 在字符串周围使用单引号
$string='<div class="container" data-id="Youtube" style="height:100%;width:100%;border:none;">
<div class="inner"></div>';
尝试使用ifstrposstrtolower$string,youtube!==假的
我总是使用strtolower来避免类似的问题。我为您做了这个简单的测试……它在我的本地主机上工作:
<?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";
}
?>
您可以使用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]);
我希望这对你有帮助youtube!==Youtube,在你的例子中使用一个不区分大小写的方法stripos。你可能应该用单引号将整个字符串括起来……另外,要小心引号。您可能想用单引号打开变量,这样您就可以在HTMLI中使用双引号了。我猜是时候再次提问了!这就是让人困惑的地方,如果你给出了你在你的机器上尝试过的实际代码,那么大多数人就不会浪费时间给你关于一个问题的评论和答案,这个问题只存在于你上面给出的示例代码中,它与你的实际代码不同。是的,我已经尝试过了。用户将通过表单输入此html代码,并将其存储在数据库中,稍后使用。因此,我想我必须提醒用户,html属性值必须是单引号。对吗?是的@Rama…你的html应该看起来像我的$string变量…如果你尝试这个代码,它是有效的…如果你将$search值更改为Zebra,它将不会被找到。。。
if(stripos($string,"YouTube") !== false)
<?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";
}
?>
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]);