<?php
$str = "Hello world. (can you hear me?)";
echo quotemeta($str);
?>
The output of the code above will be:
Hello world\. \(can you hear me\?\)
quotemeta
(PHP 4, PHP 5)
quotemeta — Quote meta characters
说明
string quotemeta
( string
$str
)Returns a version of str with a backslash character (\) before every character that is among these:
. \ + * ? [ ^ ] ( $ )
参数
-
str -
The input string.
返回值
Returns the string with meta characters quoted, or FALSE if an empty
string is given as str.
注释
Note: 此函数可安全用于二进制对象。
参见
- addslashes() - 使用反斜线引用字符串
- addcslashes() - 以 C 语言风格使用反斜线转义字符串中的字符
- htmlentities() - Convert all applicable characters to HTML entities
- htmlspecialchars() - Convert special characters to HTML entities
- nl2br() - 在字符串所有新行之前插入 HTML 换行标记
- stripslashes() - 反引用一个引用字符串
- stripcslashes() - 反引用一个使用 addcslashes 转义的字符串
- preg_match() - 执行一个正则表达式匹配
- preg_quote() - 转义正则表达式字符
kumarkulandai at gmail dot com ¶
3 years ago
George Adams ¶
7 years ago
Took me a while to realize this was NOT the command I wanted for escaping potentially harmful characters in a string that would be used as part of a system command. Instead, I needed either escapeshellarg() (http://www.php.net/manual/en/function.escapeshellarg.php) or escapeshellcmd() (http://www.php.net/manual/en/function.escapeshellcmd.php)
Anonymous ¶
12 years ago
This function escapes characters that have special meaning in regular expressions. preg_quote() <http://php.net/manual/en/function.preg-quote.php> has similar functionality, but is more powerful since it escapes more characters (including one user-specified character).
