PHP - 在变量中查找单词并替换为另一个单词

时间:2014-07-30 21:00:28

标签: php replace

所以我有一个基本上从文本区域输入的脚本,我想在变量中找到一个特定的单词(在字符串中)并将其替换为另一个。

到目前为止,我遇到了各种各样的错误。

我希望例如找到**contact并将其替换为**/page/contact等。

我会继续尝试并编辑我在这里遇到的错误。我不知道我做错了什么。

编辑1

我正在

  

警告:preg_replace()[function.preg-replace]:第57行的/path/.../.../*.php中的未知修饰符'a'

使用时

$string = preg_replace("**example", "**/page/example", $string);

3 个答案:

答案 0 :(得分:2)

使用str_replace

$string = str_replace('**contact', '**/page/contact', $string);

答案 1 :(得分:0)

拥有更多背景会很有帮助。向我们提供正在执行此任务的相关PHP代码,以及您希望接收的文本内容示例,以及您希望如何接收该内容(是否通过用户输入从Web发送?从CSV文件中提取?等等)

您是否正在寻找替换文字的一般模式的方法,或者您是否确切地知道需要替换哪些文本?例如,给定您提供的示例(将**contact替换为**/page/contact),如果您可以期望这个确切的字符串,那么您可以使用PHP提供的任何字符串替换函数。

如果您正在处理一般的文本模式,那么您可能需要使用正则表达式。

答案 2 :(得分:0)

preg_replace修饰符是http://php.net/manual/en/reference.pcre.pattern.modifiers.php e,x,s,m和i

模式中的第一个字符是星号*,后跟另一个字符,然后是前

**ex

这一切都是合法的,但解释器停在了无法识别的修饰符a并显示错误。

使这个preg_replace成为一个正确的方法,但*也是一个保留字符,所以你需要逃避它。

 preg_replace("/\*\*example/", "**/page/example", $string);

 preg_replace("~\*\*example~", "**/page/example", $string);

或**联系

 preg_replace("/\*\*contact/", "**/page/contact", $string);