2011-05-17 69 views
1

我在做什麼錯?逃離「。」在preg_replace

<?php 
    $imageurl = $pagename1; 
    $imageurl = preg_replace('/.asp/', .$g_sites_img2.'.jpg', $pagename1); 
?> 

我試圖逃跑的preg_replace.

我也曾嘗試:

<?php 
    $imageurl = $pagename1; 
    $imageurl = preg_replace('/\.asp/', .$g_sites_img2.'\.jpg', $pagename1); 
?> 

爲什麼它仍然給我的錯誤?

+1

你想完成什麼?你的代碼在做什麼,它不應該做什麼?你的代碼不是這樣做的嗎? – 2011-05-17 20:52:37

+0

你預期會發生什麼?會發生什麼呢? – 2011-05-17 20:53:09

+0

它給了我一個解析錯誤:語法錯誤,意外的'。'在第一行的/home/game1/public_html/includes/standard_images_screenshot_2.php – 2011-05-17 20:53:46

回答

9

您在$g_sites_img2之前有額外的.

$imageurl = preg_replace('/\.asp/', .$g_sites_img2.'\.jpg', $pagename1);?> 
            ^Here's your problem 

我同意@dtbarne - preg_replace()在這裏完全沒有必要。您應該使用str_replace()

+0

謝謝Rafe,我喜歡你用來突出問題的方式! – 2011-05-17 20:58:19

+0

preg_replace和str_replace有什麼區別? – 2011-05-17 21:01:03

+1

@Gerald preg_replace需要一個正則表達式,而str_replace只需要一個普通的舊字符串。在你的情況下,你只是替換一個普通的舊字符串,所以你不需要一個正則表達式。 – 2011-05-17 21:02:03

4

它看起來不像preg_replace是必要的。

爲什麼你不能只使用str_replace?無論如何,你有一個語法錯誤(一個額外的時期)。

$imageurl = preg_replace('/\.asp/', $g_sties_img2 . '.jpg', $pagename1); 
+0

這是個好建議。 – 2011-05-17 20:56:07

1

試試這個:

<?php $imageurl = preg_replace('/\.asp/', $g_sites_img2.'\.jpg', $pagename1);?> 

的公告中缺少preg_replace()調用的第二個參數領先.。另外,由於您無論如何都要將preg_replace的結果寫入該變量,因此不需要第一行。