2011-05-15 90 views
1

你好,我想替換下面的語句:與添加更換網址PHP

tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cool.gif

http://mysite.com/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cool.gif

我曾嘗試:

$comments = preg_replace ("tinymce/", "http://mysite.com/tinymce/", $comments); 

,但我得到一個錯誤:

warning Delimiter must not be alphanumeric or backslash 

你能幫助我嗎? 謝謝

回答

1

使用str_replace

$comments = str_replace ("tinymce/", "http://mysite.com/tinymce/", $comments); 

只是非常小心這一點:這是一個非常原始的方法。例如,如果您運行兩次,它將替換已經正確的http://mysite.com/tinymce/中的事件,從而中斷了此過程中的鏈接。

0

閱讀有關正則表達式的基礎知識在PHP(模式已開始與定義字符前結束。@(後前來標誌)),或者使用功能str_replace函數

2

preg_replace函數的第一個參數必須是正規表達式(正則表達式)由您選擇的字符分隔。 例如,你應該做的:

$comments = preg_replace ("`tinymce/`", "http://mysite.com/tinymce/", $comments); 

您還可以使用輸出緩衝(由ob_start)到你希望所有的URL或任何應用重寫功能。

http://fr.php.net/manual/en/function.ob-start.php

,然後嘗試讓一個真正的表達,在這裏你可以使用str_replace函數,但是如果你寫TinyMCE的/在評論那麼它也將被替換。

2

preg_replace預計,第一個參數是一個正則表達式 所有的正則表達式必須例如/regex/

所以如果你想你的代碼工作,你有你的正則表達式改爲/tinymce\//內定界符(和逃脫正斜槓)或使用不同的分隔符,如@tinymce/@