2011-05-15 55 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/@