簡體   English   中英

如何在回顯字符串和函數調用中插入變量?

[英]How do I insert variable inside an echo string and function call?

我簽出了這篇文章,但沒有運氣: PHP-連接或直接在字符串中插入變量

有問題的嫌疑人: showUser(3, change, " . $name . ");'> $ name破壞了代碼; 第二個$ name起作用。 變量不會傳遞給函數。 我已經測試了幾個小時才能使它正常工作! 似乎應該可以。 我嘗試檢查應用程序中的其他位置,以查看可能是什么問題,這似乎是罪魁禍首。

<?php 
if ($q !== "") {
$q = strtolower($q);
$len=strlen($q);
foreach($a as $name) {
    if (stristr($q, substr($name, 0, $len))) {
        if ($hint === "") {

            $hint = "<p onClick='DoIt(); showUser(3, change, " . $name . ");'>" . $name . "</p>";
        } else {
            $hint .= "\n" . "$name";
        }
    }
} 
?>

JavaScript可能要求使用$ name進行引號。

$hint = "<p onClick='DoIt(); showUser(3, change, \"" . $name . "\");'>" . $name . "</p>";

像這樣轉義引號會使它們出現在JS函數調用中。

當將PHP,JavaScript和HTML一行混合使用時,引號通常是一個棘手的問題。

您可以像這樣引用變量

if ($q !== "") {
  $q = strtolower($q);
  $len = strlen($q);
  foreach($a as $name) {
    if (stristr($q, substr($name, 0, $len))) {
      if ($hint === "") {
       $name = "'" . $name . "'";
       $hint = '<p onClick="DoIt(); showUser(3, change, ' . $name . ');">' . $name . '</p>';
      } else {
       $hint .= "\n" . "$name";
      }
    }
  } 
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM