如何在 PHP 里面的 Javascript 里面输入 PHP
How to input PHP inside Javascript that is inside PHP
我的问题有点,说是原创吧,我承认。尽管如此,它开始困扰我。我有一个需要生成 Javascript 的 PHP 程序,您可能会说没有什么原创性。
我同意,但碰巧生成的 Javascript 需要使用 PHP 变量,当我尝试这样做时,Javascript 认为我在给他一个字符串,他应该。
所以我有点卡住了,我不知道我怎么能强迫 Javascript 明白我给他的是 PHP 而不是字符串。当然,我已经在寻找解决方案,但我所能找到的只是人们试图通过 PHP 或其他方式生成 Javascript 。我的问题更进一步,您可以称之为:inception。
这是我要完成的代码示例:
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<?php
$lat = 46.779231;
$lng = 6.659431;
echo "<script type=\"text/javascript\">
var carte;
function initialiser() {
var latlng = new google.maps.LatLng(46.779231, 6.659431);
var options = {
center: latlng,
zoom: 19,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
carte = new google.maps.Map(document.getElementById(\"carte\"), options);
/*var marqueur = new google.maps.Marker({
position: new google.maps.LatLng(46.779231, 6.659431),
map: carte
});*/
}
var lat = \"<?php echo $lat; ?>\";
var lng = \"<?php echo $lng; ?>\";
alert(lat);
var marker = new google.maps.Marker({
position: new google.maps.LatLng(lat,lng),
map: carte
});
</script>";
?>
问题出在以下两行:
var lat = \"<?php echo $lat; ?>\";
var lng = \"<?php echo $lng; ?>\";
Javascript 认为 lat 和 lng 是两个字符串,你有什么办法让他理解它实际上是 PHP 吗?
非常感谢您抽出时间来帮助我。
简单地连接它们 -
var lat = '".$lat."';
你的<script></script>
标签已经在<?php ... ?>
里面了,所以你不需要再使用<?php ... ?>
,直接调用php变量就可以了:
var lat = \"$lat\";
var lng = \"$lng\";
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<?php
$lat = 46.779231;
$lng = 6.659431;
echo "<script type=\"text/javascript\">
var carte;
function initialiser() {
var latlng = new google.maps.LatLng(46.779231, 6.659431);
var options = {
center: latlng,
zoom: 19,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
carte = new google.maps.Map(document.getElementById(\"carte\"), options);
/*var marqueur = new google.maps.Marker({
position: new google.maps.LatLng(46.779231, 6.659431),
map: carte
});*/
}
var lat = ".$lat.";
var lng = ".$lng.";
alert(lat);
var marker = new google.maps.Marker({
position: new google.maps.LatLng(lat,lng),
map: carte
});
</script>";
?>
或如果需要
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<?php
$lat = 46.779231;
$lng = 6.659431;
echo "<script type=\"text/javascript\">
var carte;
function initialiser() {
var latlng = new google.maps.LatLng(46.779231, 6.659431);
var options = {
center: latlng,
zoom: 19,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
carte = new google.maps.Map(document.getElementById(\"carte\"), options);
/*var marqueur = new google.maps.Marker({
position: new google.maps.LatLng(46.779231, 6.659431),
map: carte
});*/
}
var lat = '".$lat."';
var lng = '".$lng."';
alert(lat);
var marker = new google.maps.Marker({
position: new google.maps.LatLng(lat,lng),
map: carte
});
</script>";
?>
我的问题有点,说是原创吧,我承认。尽管如此,它开始困扰我。我有一个需要生成 Javascript 的 PHP 程序,您可能会说没有什么原创性。
我同意,但碰巧生成的 Javascript 需要使用 PHP 变量,当我尝试这样做时,Javascript 认为我在给他一个字符串,他应该。
所以我有点卡住了,我不知道我怎么能强迫 Javascript 明白我给他的是 PHP 而不是字符串。当然,我已经在寻找解决方案,但我所能找到的只是人们试图通过 PHP 或其他方式生成 Javascript 。我的问题更进一步,您可以称之为:inception。
这是我要完成的代码示例:
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<?php
$lat = 46.779231;
$lng = 6.659431;
echo "<script type=\"text/javascript\">
var carte;
function initialiser() {
var latlng = new google.maps.LatLng(46.779231, 6.659431);
var options = {
center: latlng,
zoom: 19,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
carte = new google.maps.Map(document.getElementById(\"carte\"), options);
/*var marqueur = new google.maps.Marker({
position: new google.maps.LatLng(46.779231, 6.659431),
map: carte
});*/
}
var lat = \"<?php echo $lat; ?>\";
var lng = \"<?php echo $lng; ?>\";
alert(lat);
var marker = new google.maps.Marker({
position: new google.maps.LatLng(lat,lng),
map: carte
});
</script>";
?>
问题出在以下两行:
var lat = \"<?php echo $lat; ?>\";
var lng = \"<?php echo $lng; ?>\";
Javascript 认为 lat 和 lng 是两个字符串,你有什么办法让他理解它实际上是 PHP 吗?
非常感谢您抽出时间来帮助我。
简单地连接它们 -
var lat = '".$lat."';
你的<script></script>
标签已经在<?php ... ?>
里面了,所以你不需要再使用<?php ... ?>
,直接调用php变量就可以了:
var lat = \"$lat\";
var lng = \"$lng\";
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<?php
$lat = 46.779231;
$lng = 6.659431;
echo "<script type=\"text/javascript\">
var carte;
function initialiser() {
var latlng = new google.maps.LatLng(46.779231, 6.659431);
var options = {
center: latlng,
zoom: 19,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
carte = new google.maps.Map(document.getElementById(\"carte\"), options);
/*var marqueur = new google.maps.Marker({
position: new google.maps.LatLng(46.779231, 6.659431),
map: carte
});*/
}
var lat = ".$lat.";
var lng = ".$lng.";
alert(lat);
var marker = new google.maps.Marker({
position: new google.maps.LatLng(lat,lng),
map: carte
});
</script>";
?>
或如果需要
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<?php
$lat = 46.779231;
$lng = 6.659431;
echo "<script type=\"text/javascript\">
var carte;
function initialiser() {
var latlng = new google.maps.LatLng(46.779231, 6.659431);
var options = {
center: latlng,
zoom: 19,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
carte = new google.maps.Map(document.getElementById(\"carte\"), options);
/*var marqueur = new google.maps.Marker({
position: new google.maps.LatLng(46.779231, 6.659431),
map: carte
});*/
}
var lat = '".$lat."';
var lng = '".$lng."';
alert(lat);
var marker = new google.maps.Marker({
position: new google.maps.LatLng(lat,lng),
map: carte
});
</script>";
?>