如何使用php获取元标签,但使用html表单


how to get meta tags with php, but with html form

我得到了这个PHP src:

$tags = get_meta_tags('http://www.autostraddle.com');
echo "CMS is: ";
echo $tags['generator'];

此代码对用户不友好;它还没有为我的网站准备好一个在线工具,因为我想创建一个简单的服务-CMS检测器,和。。。

$tag = isset($_REQUEST['url']) ? get_meta_tags('url') : '';

<form action="index.php" method="post">
<input type="text" name="url" size="65" value="<?php echo $tag;  ?>"/><br />
<input type="submit" value="Go!">
echo $tag['generator'];

我想创建一个关于检测CMS是什么的在线工具,但我需要这个带有HTML表单的PHP脚本,因为这将由用户使用,而不仅仅是由我使用

他们必须放置任何url,然后脚本将按照描述执行以获得元标记"generator";如何获取元标记"生成器"?我只想要这个元标签。

那么,如何使用"if else"?如果有元标签生成器这样做,但如果没有这样的标签"生成器",那么写任何"回声"消息,例如

CMS尚不清楚。

好吧,这是一个简单的PHP脚本,但我不知道如何创建变量和如何获得URL;可能使用cURL?

您所面临的问题实际上是从POST超全局获取用户端输入。这是你可以尝试的,但有很多方法可以实现。您还可以使用method="SET"并从action=""文件的URL中捕获用户参数。

请注意,在这种情况下,action=""参数为空。这意味着PHP脚本将在HTML表单所在的同一页面上执行。这可能不是你想要做的,所以如果你需要重定向,请将PHP代码添加到一个单独的文件中,并将其添加到你的网站和action=""参数中。

<form action="" method="POST">
    <input type="text" name="url" size="65" placeholder="http://yoururl"/>
    <input type="submit" name="submit" value="Go!">
</form>
<?php
if(isset($_POST['submit']))
{
    $tags = get_meta_tags($_POST['url']);
    if($tags['generator'])
         echo "CMS: <b>" . $tags['generator'] . "</b><br>";
    else
         echo "No CMS info available.<br>";
}
?>

试试看。