gpt4 book ai didi

php - 哪些字符应该被转义以替换为 preg_replace

转载 作者:行者123 更新时间:2023-12-05 08:12:06 26 4
gpt4 key购买 nike

我注意到替换的是 \那么该功能将无法按预期工作。所以我应该转义反斜杠。

还有哪些字符应该被转义?我没有成功找到任何文档。

我不能使用 preg_quote()因为它用于转义模式而不是替换。

再次编辑:这是一个 single quote 的例子这显示了反斜杠是如何导致问题的:

 $replacement = '<head>content \0020 content</head>';
$subject = "<head>any header </head>";
$html_text = preg_replace ( "%<head>.*?</head>%s", $replacement, $subject, - 1, $count );
die ( $html_text );$subject, - 1, $count );
echo $html_text;

上面的例子应该打印:<head>content \0020 content</head> .但它打印 <head>content <head>any header </head>20 content</head>

最佳答案

\002 是一个八进制数,在 Windows 终端上呈现时会显示一个小笑脸 ☻,然后是 \0020 的尾随 0。在浏览器中查看时,您只会看到尾随的 0。参见 Double quoted转义序列的字符串。要使用双引号,您需要使用此 \\\\0020

您还可以使用 Single quoted字符串或 Nowdoc .

如果您从其他地方读取这个字符串,您可以使用 addslashes()

关于php - 哪些字符应该被转义以替换为 preg_replace,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34076627/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com