0

我有一个 .php 文件,我将使用它来向某个 API 提交请求。此 API 将返回有关某些域 URL 的信息,例如域年龄、PageRank 等。

负责为 API 调用 URL 提供我感兴趣的域名的 PHP 文件部分如下所示:

$batchedDomains = array('www.example.com', 'www.cnn.com', 'www.apple.com'); 

我想做的是通过一个非常简单的 HTML 表单来提供这个数组信息。我当前的表单 HTML 如下所示:

<form name="myform" action="apitest.php" method="POST">
    <input type="hidden" name="check_submit" value="1" />

    URL List:<br /> 
    <textarea name="urls" rows="20" cols="60">Enter URLs</textarea><br />
    <input type="submit" />
</form>

这是我希望看到的情况:每当我在 HTML 表单中输入域 URL 列表(每行一个域)时,我希望 $batchedDomains 数组填充这些值。

谁能帮我解决这个问题?或者,如果您对不同的解决方案有建议,我当然愿意倾听。

我不希望在任何地方打印此信息,因为 php 脚本只会使用它来调用 API 并显示结果。

谢谢你。

4

3 回答 3

2
$urls = array_filter(explode(PHP_EOL, $_POST['urls']), 'parse_url');

filter_var()或使用+传递自定义回调以FILTER_VALIDATE_URL进行更严格的检查

于 2013-05-16T14:03:34.593 回答
0

如果您只是每行输入一个,则可以用换行符拆分 textarea 字符串,请参阅https://stackoverflow.com/a/1483501/2213444

于 2013-05-16T13:59:39.747 回答
0
<?php
// has no error checking, you'll want to check that $_POST['urls'] exists
$textarea = explode("\r\n", $_POST['urls']);
print_r($textarea);

?>
    <form action="" method="post">
        <textarea name='urls' rows='20' cols='60'>
        </textarea>
        <input type="submit">
    </form>

工作示例

于 2013-05-16T14:02:25.243 回答