所以我有一个基本上从文本区域输入的脚本,我想在变量中找到一个特定的单词(在字符串中)并将其替换为另一个。
到目前为止,我遇到了各种各样的错误。
我希望例如找到**contact
并将其替换为**/page/contact
等。
我会继续尝试并编辑我在这里遇到的错误。我不知道我做错了什么。
编辑1
我正在
警告:preg_replace()[function.preg-replace]:第57行的/path/.../.../*.php中的未知修饰符'a'
使用时
$string = preg_replace("**example", "**/page/example", $string);
答案 0 :(得分:2)
$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);