这是从URL获取主机名的函数:
<?php
function get_domain($url)
{
$pieces = parse_url($url);
$domain = isset($pieces['host']) ? $pieces['host'] : '';
if (preg_match('/(?P<domain>[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$/i', $domain, $regs)) {
return $regs['domain'];
}
return false;
}
print get_domain("http://fileflyer.com");
?>
我想在此文件中插入此功能:
<?php
function connect($host,$username,$database,$password){
$to_connect = mysql_connect($host,$username,$password) or die ("UNFinded ".$username. " DB !");
$db = mysql_select_db($database, $to_connect) or die (mysql_error());
return $db;
}
connect("localhost","idevice2_ariel","idevice2_ariel","ariel123456");
if (!isset($_POST['submit_form'])) {
echo '<form name="search_form1" id="form" method="POST" action="search.php">
<input type="text" style="width: 300px; display: block; margin: 0 auto; height: 36px; text-align: center; font-size: 16px;" name="search_name" placeholder="חפש סרט או סדרה.." />
<input type="submit" value="Submit" name="submit_form" />
</form>';
} else {
$search_name = $_POST['search_name'];
$query = mysql_query("SELECT * FROM `members` WHERE (`moviename` like '%".$search_name."%')");
$count = mysql_num_rows($query);
while($row = mysql_fetch_array($query)) {
$fname = $row['moviename'];
$lname = $row['links'];
**print '<a href="'.**$row['links']**.'">'.$row['moviename'].'</a><br />';
我想从
获取主机名$row['links']
}
}
mysql_close($to_connect);
?>
<html>
<head>
<style type="text/css">
a {
}
</style>
</head>
<body>
</body>
</html>
有人能帮助我吗?
答案 0 :(得分:1)
为什么你不在connect函数之后将get_domain()
函数复制到另一个文件中?这应该有效!
答案 1 :(得分:0)
您编写的函数可以在声明的同一个文件中的任何位置使用,不一定要立即使用 - 事实上,这是它首先成为函数的一部分!因此,将您的函数定义添加到function connect( ... )
定义旁边的文件顶部,然后在HTML中,您可以使用它:
echo '<a href="'.get_domain($row['links']).'">'.$row['moviename'].'</a><br />';
(请注意,我使用的是echo
而不是print
- 它们执行相同的操作,但echo
是PHP中更常用的名称。)
随着程序的增长,您可能希望将函数定义放入文件中并在多个页面中重用它们,甚至将它们分组到类别中,依此类推。这是include
and require
(及其变体include_once
和require_once
)的用途。
编辑:由于你的函数返回了域的一部分(我不清楚你的函数是什么做的parse_url
还没有,但没关系),这将导致像<a href="exmple.com">...</a>
这样的链接会链接到您网站上名为example.com
的网页。实际上,您可能希望通过添加'http://'
前缀(例如
echo '<a href="http://'.get_domain($row['links']).'">'.$row['moviename'].'</a><br />';
即使您的网站上有这样的页面,您可能希望相对于域的根目录而不是当前目录中的URL,在这种情况下,您需要一个前导'/'
:
echo '<a href="/'.get_domain($row['links']).'">'.$row['moviename'].'</a><br />';