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


PHP - Find word in variable and replace with another

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

到目前为止,我已经得到了各种各样的错误。

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

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

编辑1

我得到

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

在使用

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

使用str_replace

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

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

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

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

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

模式中的第一个字符是星号*,后面跟着另一个then ex

**ex

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

使其成为preg_replace的正确方法是,但*也是保留字符,因此您需要转义它。

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

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

或**联系人

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