Php 如何在单引号字符串中使用?

Php 如何在单引号字符串中使用?,php,syntax-error,parse-error,Php,Syntax Error,Parse Error,我将以下内容用于预更换: 例如,当我尝试在上面添加“时,会在文件上出现错误: 解析错误:语法错误,第38行的…/s.php中出现意外的T\n\u分隔符 此外,是否有更简单的方法列出所有要替换的符号?如果要删除任何符号,请尝试: $replace = "/[^a-zA-Z0-9 ]/"; ^表示除以下内容以外的任何内容。将您希望允许的任何字符添加到列表中。这比列出每个符号并处理转义更容易。您需要转义“字符”,因为它也是单引号字符串的分隔符: $replace = '/[!\/.,#\s\-:?"

我将以下内容用于预更换:

例如,当我尝试在上面添加“时,会在文件上出现错误:


解析错误:语法错误,第38行的…/s.php中出现意外的T\n\u分隔符


此外,是否有更简单的方法列出所有要替换的符号?

如果要删除任何符号,请尝试:

$replace = "/[^a-zA-Z0-9 ]/";
^表示除以下内容以外的任何内容。将您希望允许的任何字符添加到列表中。这比列出每个符号并处理转义更容易。

您需要转义“字符”,因为它也是单引号字符串的分隔符:

$replace = '/[!\/.,#\s\-:?"\']+/';
                           ^^
通过在其前面添加\来完成转义。这通常是合乎逻辑的,否则您将完成字符串定义,这将导致PHP无法解析代码的语法错误。看

是否有更简单的方法列出所有要替换的符号


像你已经做的那样列出它们难道还不够简单吗?因此,我必须承认,我不清楚您真正关心的是什么,所以我无法提供更简单的内容。

解析错误:语法错误,第38行的/home//s.php中出现意外的t\u NS\u分隔符……第38行的代码是什么?为什么要加3倍的符号?我基本上只想要类似的东西!£$%^&*_+=|\.?/~'@;:{}[]放入文件并通过php在命令行上运行不会产生语法错误。请发布更多代码。我使用“打印;”将上述所有内容一次性替换为-。但是现在它不会只替换一次,任何帮助?添加到允许的字符列表中。把它放在字符类的末尾,这样你就不需要转义它了。你能给我举个例子吗?然后从允许的字符中去掉空格。这很简单@杰克:你实际上有两个问题。第一个问题是解决代码产生的语法错误。第二个问题是如何创建URL。第一个问题是解决第二个问题过程中的结果,但在解决第一个问题后,您可能想问第二个问题。把事情分开以得到更好的答案。此外,还要改进问题的写作,使其更加准确。例如,我添加了错误信息,您应该提供这些重要的第一手资料,以便清楚地了解您的问题。
$replace = '/[!\/.,#\s\-:?"\']+/';
                           ^^