Php搞乱了我的javascript,button赢了';t打开

Php搞乱了我的javascript,button赢了';t打开,php,javascript,Php,Javascript,我在我的网站上有一个javascript按钮,该按钮可以从外部的txt URL文件中随机弹出一个URL(每行一个),但是php通过插入额外的中断来不断破坏javascript <a href="#" onClick="javascript:window.open('http://something.com/a.php?u=<?php echo $url ?>', 'yea', 'height=520, width=400, location=no, menubar=no, r

我在我的网站上有一个javascript按钮,该按钮可以从外部的txt URL文件中随机弹出一个URL(每行一个),但是php通过插入额外的中断来不断破坏javascript

 <a href="#" onClick="javascript:window.open('http://something.com/a.php?u=<?php echo $url ?>', 'yea', 'height=520, width=400, location=no, menubar=no, resizable=no, scrollbars=no, status=no, titlebar = yes, toolbar=no');"><img src="clic.jpg" border="0"></a>

<?php 

$urls = @file('urls.txt');
$num = count($urls)-1;
$url = $urls[rand(0,$num)];

?> 

将整个文件读入到一个数组中,其中仍然附加了换行符

试试这个:

$url = trim($urls[rand(0,$num)]);
$url = trim($urls[rand(0,$num)]);
试试这个:

$url = trim($urls[rand(0,$num)]);
$url = trim($urls[rand(0,$num)]);
每行都有CR(和LF)字符,在其末尾标记新行。
trim
函数将从字符串中删除这些额外的空白字符。


<?php 

$urls = @file('urls.txt');
$num = count($urls)-1;
$url = $urls[rand(0,$num)];
$url = trim($url);
?> 
像这样使用file():

@file('url.txt',file\u IGNORE\u NEW\u行)

您缺少一个
中的code>,如果该echo是php代码块中的唯一语句,则
可以省略我怀疑,因为一个人的服务器端和一个人的客户端。这个代码和你发布的完全一样?因为在给url赋值之前,您正在
echo
ing
$url
。另外,如果您将url作为GET参数传递,请记住对其进行正确编码。