quotemeta
(PHP 4, PHP 5, PHP 7, PHP 8)
quotemeta — メタ文字をクォートする
説明
文字列 str
について、
. \ + * ? [ ^ ] ( $ )
の前にバックスラッシュ文字 (\
) でクォートして返します。
パラメータ
string
-
入力文字列。
戻り値
メタ文字をクォートした文字列を返します。
空文字を string
に渡した場合は false
を返します。
例
例1 quotemeta() の例
<?php
var_dump(quotemeta('PHP is a popular scripting language. Fast, flexible, and pragmatic.'));
?>
上の例の出力は以下となります。
string(69) "PHP is a popular scripting language\. Fast, flexible, and pragmatic\."
注意
注意: この関数はバイナリデータに対応しています。
参考
- addslashes() - 文字列をスラッシュでクォートする
- addcslashes() - C 言語と同様にスラッシュで文字列をクォートする
- htmlentities() - 適用可能な文字を全て HTML エンティティに変換する
- htmlspecialchars() - 特殊文字を HTML エンティティに変換する
- nl2br() - 改行文字の前に HTML の改行タグを挿入する
- stripslashes() - クォートされた文字列のクォート部分を取り除く
- stripcslashes() - addcslashes でクォートされた文字列をアンクォートする
- preg_quote() - 正規表現文字をクオートする
+add a note
User Contributed Notes 3 notes
kumarkulandai at gmail dot com ¶
15 years ago
<?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\?\)
George Adams ¶
18 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 ¶
23 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).