我有2个文件:script.html和index.php。
我的目的是通过JavaScript在HTML文件中生成文本(在这种情况下为用户所在的国家/地区)。这是此HTML文件的代码:
script.html
<script language="Javascript" src="http://www.codehelper.io/api/ips/?js"></script>
<script language="Javascript">document.write(codehelper_ip.Country);</script>
现在,我想将该文本带到PHP文件中以将其用作变量:
index.php
<?php
$content = file_get_contents(script.html);
echo "http://www.example.com/$content/example"
?>
问题在于该回声的输出是奇数的:
回声输出:
http://www.example.com/ US /example
注意“ US”之前和之后的空格。当然,这破坏了代码的全部目的。我不能有这样的网址。
有什么办法可以避免或删除这些空格?
为什么会这样呢?
我的猜测:由于JavaScript代码的换行符,正在插入这些空格。如果我没有在任何一个换行符<script></script>
和另一个换行符之间放置任何换行符<script></script>
(例如<script language="Javascript" src="http://www.codehelper.io/api/ips/?js"></script><script language="Javascript">document.write(codehelper_ip.Country);</script>
,全部换行),那么我会得到http://www.example.com/US /example
。不过,我不知道该如何避开后面的空间。
注意1:我已经尝试过trim()(我使用PHP 5+,所以应该可以使用)。我还尝试将文件扩展名“ .html”更改为“ .php”,以防万一它可以做某事,但事实并非如此。
注意2:即使我知道我可以用其他方法来做,但我想通过JavaScript而不是通过PHP获取用户所在的国家/地区。原因是我无法使用当前的托管计划通过服务器执行此操作,因此我想到了JavaScript。
非常感谢你。
我认为您对何时执行各种脚本感到困惑。
$content = file_get_contents(script.html);
此时,$content
包含<script>
标签。由于尚未将JavaScript发送到浏览器,因此尚未执行JavaScript。
echo "http://www.example.com/$content/example"
这会将其发送到浏览器:
http://www.example.com/<script language="Javascript" src="http://www.codehelper.io/api/ips/?js"></script>
<script language="Javascript">document.write(codehelper_ip.Country);</script>/example
由于PHP非常琐碎,请尝试使用以下简单的JavaScript解决方案:
<script language="Javascript" src="http://www.codehelper.io/api/ips/?js"></script>
<script language="Javascript">document.write("http://www.example.com/" + codehelper_ip.Country + "/example");</script>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句