quotemeta()
(PHP 4, PHP 5, PHP 7)
转义元字符集
说明
quotemeta(string $str) : string
返回在下面这些特殊字符前加反斜线()转义后的字符串。这些特殊字符包含:.+ *? [^ ]( $)
参数
- $str
输入字符串
返回值
返回元字符集被转义后的字符串,如果输入字符串$str为空,则返回FALSE
。
注释
Note:此函数可安全用于二进制对象。
参见
addslashes()
使用反斜线引用字符串addcslashes()
以 C 语言风格使用反斜线转义字符串中的字符htmlentities()
将字符转换为 HTML 转义字符htmlspecialchars()
将特殊字符转换为 HTML 实体nl2br()
在字符串所有新行之前插入 HTML 换行标记stripslashes()
反引用一个引用字符串stripcslashes()
反引用一个使用 addcslashes 转义的字符串- ereg() 正则表达式匹配
preg_quote()
转义正则表达式字符
<?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\?\)
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)
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).