2012-02-27 77 views
4

基本上我有一塊html,我想要回顯頁面,並且html中有$符號,php認爲它是一個變量,所以$ 1被視爲變量而不是值並不顯示。

這裏有標準答案,但沒有一個是工作:PHP: How to get $ to print using echo

我的下一個想法是分裂在$字符串和回聲各部分進行。

這裏是我試過回聲和打印的代碼。

foreach ($rows as $rowmk) { 
    $s = $rowmk->longdescription; 
    //$s = str_replace('$', '@', $s); 
    $s = str_replace('$', '\$', $s); 
    //echo "$s" . "<br>"; 
    print $s; 
} 

所有幫助表示讚賞。

好,我通過使用$

foreach ($rows as $rowmk) { 
    $s = $rowmk->longdescription;  
    $s = str_replace('$', '&#36;', $s); 
    echo $s . "<br>"; 
} 

我想我應該只是張貼也無妨的字符代碼值解決。

感謝,

+3

你的問題和答案沒有意義。 '$ dollar ='$'; echo $ dollar;'會工作得很好。 – Matthew 2012-02-27 23:15:59

+0

如果你的html有一個美元符號,並且你試圖回顯那個字符串,PHP將不會假設$符號是一個可變前綴 - 它只會打印出文本。所以,我認爲你的第一個代碼塊有另一個問題。你沒有在模板中使用eval(),對嗎? – halfer 2012-02-27 23:17:24

+0

@Matthew但是'$ dollar =「$」; echo $ dollar;'不起作用! – 2016-06-17 11:34:33

回答

1

你正在做錯的地方。當雙引號字符串文字(在您的情況下,存儲在$rowmk->longdescription中的文件是安捷倫文件)完成變量插值後,完成後,您無法真正地執行任何操作以獲取$s的回覆。聲明字符串

+0

謝謝。我不知道... – 2012-02-28 01:44:07

11

或者你可以呼應字符串常量使用單引號...

<?php 

echo 'Give me $1'; 

?> 

會打印:

給我$ 1

PHP字符串文檔:

http://php.net/manual/en/language.types.string.php

備註 - 您提供的鏈接有很多答案可以完美運作。你如何以不起作用的方式應用它們?

+0

這並不能真正回答他的問題。他已經在使用單引號。他一定在做別的事,他沒有向我們展示。 – Matthew 2012-02-27 23:19:05

+0

我沒有看到他已經使用單引號,但我確實看到了你的觀點。由於他從$ db迴應,他可能無法完全控制原始狀態下的輸出,這就是他向我們展示他的解決方案的原因。雖然在輸入上而不是在每次讀取上編碼數據會更容易。不過,從數據庫迴應不應該評估$。想象一下,這將是多麼的致命。 – 2012-02-27 23:28:34

+0

我的longdescription字段是html,表格中有一列中有一個美元值的列表,例如:​​$ 5。 5美元被解釋爲一個變量。迴應'$ s'輸出$ s而不是表格... – 2012-02-28 01:39:14

4

只需使用一個單引號字符串。

$foo = 'Hello'; 
echo '$foo'; // $foo 
echo "$foo"; // Hello 
0

我假設你從數據庫中讀取你行這些字符串內美元符號不會被PHP進行插值這裏有一個小的測試腳本來嘗試一下:。

// you'd first have to set the three variables according to your database 
    $dbh = new PDO($DSN, $DB_USER, $DB_PASS); 

    // create a table and insert a string containing a dollar sign 
    $dbh->exec('CREATE TABLE IF NOT EXISTS some_text (longdescription VARCHAR(255))'); 
    $dbh->exec('INSERT INTO some_text (longdescription) VALUES ("10 $")'); 

    // query all the data from the table 
    $query =$dbh->query("SELECT * FROM some_text"); 
    $rows = $query->fetchAll(PDO::FETCH_CLASS); 

    // loop over all the rows (as in your example) and output the rows 
    // no problem at all 
    foreach ($rows as $rowmk) { 
    $s = $rowmk->longdescription; 
    echo $s . "<br>"; 
    } 
+0

嗨bjelli,可悲的是他們被解釋爲變量。 – 2012-02-28 01:42:58

-1

我做它使用這個

echo "$" . "VariableName";